Introduction¶
In the city of Detroit, over 20% of properties are affected by property blight, leading the City to issue tickets to the owners of these parcels as a means of encouraging residents to maintain their properties. Despite this effort, the compliance rate for these blight tickets is alarmingly low. Our approach involves constructing a predictive model to forecast ticket compliance, conducting a thorough analysis of property owners who receive blight tickets, and examining the disparities in compliance among these diverse groups of residents.
Blight fines dataset¶
Goal¶
The goal of our work is to estimate compliance based of of historical data
Data init¶
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import matplotlib as mpl
import seaborn as sns
import re
from sklearn.cluster import KMeans
import folium
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import metrics
from datetime import date
from six import StringIO
from IPython.display import Image
import pydotplus
# Do not touch me
df_fines = pd.read_csv("fines.csv", sep=',',skiprows=0,skipfooter=1, na_values=None,engine='python')
df_latlons = pd.read_csv("latlons.csv", sep=',', skiprows=0, skipfooter=1, na_values=None,engine='python')
df_addresses = pd.read_csv("addresses.csv", sep=',', skiprows=0, na_values=None,engine='python')
len(df_fines.index)
62492
Data Cleaning¶
We assumed these enumerations:
| payment status | value assigned |
|---|---|
| NO PAYMENT APPLIED | 0 |
| PARTIAL PAYMENT APPLIED | 1 |
| PAID IN FULL | 2 |
| disposition | value assigned |
|---|---|
| Not responsible by Dismissal | Not responsible |
| Not responsible by City Dismissal | Not responsible |
| Not responsible by Determination | Not responsible |
| Responsible by Default | Responsible |
| Responsible by Determination | Responsible |
| Responsible by Admission | Responsible |
| PENDING JUDGMENT | omitted |
| SET-ASIDE (PENDING JUDGMENT) | omitted |
We have also removed all fines where the subject corrected the violation before his hearing, eg. when the case was dismissed.
We have changed compliancy 0/1 values to boolean
df_fines['payment_status'] = df_fines['payment_status'].map(
lambda x: 0 if x == 'NO PAYMENT APPLIED'
else 1 if x == 'PARTIAL PAYMENT APPLIED'
else 2
)
not_responsible_tags = r'Not responsible by Dismissal\
|Not responsible by City Dismissal\
|Not responsible by Determination'
responsible_tags = r'Responsible by Default\
|Responsible by Determination\
|Responsible by Admission'
omitted_tags = (r'PENDING JUDGMENT|SET-ASIDE \(PENDING JUDGMENT\)')
# Filter out fines that were not resolved
df_fines = df_fines[df_fines.disposition.str.contains(omitted_tags) == False]
# Change labels to boolean vals
df_fines['disposition'] = df_fines['disposition'].map(
lambda x:
"Not responsible" if x in not_responsible_tags
else "Responsible")
# Remove fines that were dismissed
df_fines = df_fines[df_fines['disposition'] == "Responsible"]
# Change 0/1 compliance to boolean
df_fines['compliance'] = df_fines['compliance'].map(
lambda x:
False if x == 0.0
else True)
# Change violation code to category type
df_fines['violation_code'] = df_fines['violation_code'].astype('category')
len(df_fines.index)
42023
df_fines.columns
Index(['ticket_id', 'agency_name', 'inspector_name', 'violator_name',
'violation_street_number', 'violation_street_name',
'violation_zip_code', 'mailing_address_str_number',
'mailing_address_str_name', 'city', 'state', 'zip_code',
'non_us_str_code', 'country', 'ticket_issued_date', 'hearing_date',
'violation_code', 'violation_description', 'disposition', 'fine_amount',
'admin_fee', 'state_fee', 'late_fee', 'discount_amount',
'clean_up_cost', 'judgment_amount', 'payment_amount', 'balance_due',
'payment_date', 'payment_status', 'collection_status',
'grafitti_status', 'compliance_detail', 'compliance'],
dtype='object')
df_fines['mailing_address_str_name'] = df_fines['mailing_address_str_name'].astype(str)
df_fines['violation_street_name'] = df_fines['violation_street_name'].astype(str)
df_fines['violator_name'] = df_fines['violator_name'].astype(str)
df_fines['ticket_issued_date'] = pd.to_datetime(df_fines['ticket_issued_date'])
df_fines['ticket_year'] = df_fines['ticket_issued_date'].dt.year
df_fines['ticket_month'] = df_fines['ticket_issued_date'].dt.month
df_fines['ticket_day'] = df_fines['ticket_issued_date'].dt.day
df_fines['ticket_day_week'] = df_fines['ticket_issued_date'].dt.day_of_week
#['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
df_fines = pd.get_dummies(df_fines,columns=['ticket_day_week'])
df_fines = df_fines.rename(columns={'ticket_day_week_0':'isMonday',
'ticket_day_week_1': 'isTuesday',
'ticket_day_week_2':'isWednesday',
'ticket_day_week_3':'isThursday',
'ticket_day_week_4':'isFriday',
'ticket_day_week_5':'isSaturday',
'ticket_day_week_6':'isSunday'})
df_fines.columns
Index(['ticket_id', 'agency_name', 'inspector_name', 'violator_name',
'violation_street_number', 'violation_street_name',
'violation_zip_code', 'mailing_address_str_number',
'mailing_address_str_name', 'city', 'state', 'zip_code',
'non_us_str_code', 'country', 'ticket_issued_date', 'hearing_date',
'violation_code', 'violation_description', 'disposition', 'fine_amount',
'admin_fee', 'state_fee', 'late_fee', 'discount_amount',
'clean_up_cost', 'judgment_amount', 'payment_amount', 'balance_due',
'payment_date', 'payment_status', 'collection_status',
'grafitti_status', 'compliance_detail', 'compliance', 'ticket_year',
'ticket_month', 'ticket_day', 'isMonday', 'isTuesday', 'isWednesday',
'isThursday', 'isFriday', 'isSaturday', 'isSunday'],
dtype='object')
df_fines['isOwner'] = np.where(df_fines['mailing_address_str_name'].astype(str).str.upper() == df_fines['violation_street_name'].astype(str).str.upper(), 1,0)
df_fines['isOwner'] = np.where(df_fines['mailing_address_str_number'].astype(float) == df_fines['violation_street_number'].astype(float),1,0)
df_fines[df_fines['isOwner'] == 1]
| ticket_id | agency_name | inspector_name | violator_name | violation_street_number | violation_street_name | violation_zip_code | mailing_address_str_number | mailing_address_str_name | city | ... | ticket_month | ticket_day | isMonday | isTuesday | isWednesday | isThursday | isFriday | isSaturday | isSunday | isOwner | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 7 | 18735 | Buildings, Safety Engineering & Env Department | Williams, Darrin | Rafee Auto Services L.L.C., RAF | 8228 | MT ELLIOTT | NaN | 8228.0 | Mt. Elliott | Detroit | ... | 6 | 16 | False | False | True | False | False | False | False | 1 |
| 8 | 18733 | Buildings, Safety Engineering & Env Department | Williams, Darrin | Rafee Auto Services L.L.C., RAF | 8228 | MT ELLIOTT | NaN | 8228.0 | Mt. Elliott | Detroit | ... | 6 | 16 | False | False | True | False | False | False | False | 1 |
| 14 | 18978 | Buildings, Safety Engineering & Env Department | Williams, Darrin | TLC Hand Car Wash, a/k/a | 9425 | VAN DYKE | NaN | 9425.0 | Van Dyke | Detroit | ... | 8 | 23 | True | False | False | False | False | False | False | 1 |
| 18 | 18746 | Buildings, Safety Engineering & Env Department | Williams, Darrin | Klenk, Dean | 14715 | KLENK | NaN | 14715.0 | Klenk | Detroit | ... | 10 | 7 | False | False | False | True | False | False | False | 1 |
| 21 | 26846 | Buildings, Safety Engineering & Env Department | Williams, Darrin | Al-Musawi, Doha | 16331 | WARREN | NaN | 16331.0 | W. Warren | Detroit | ... | 10 | 13 | False | False | True | False | False | False | False | 1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 62436 | 87032 | Department of Public Works | Lewis, Velinda | Harris, Tonie | 19696 | OMIRA | NaN | 19696.0 | Omira | Detroit | ... | 8 | 4 | False | False | False | False | True | False | False | 1 |
| 62452 | 87040 | Department of Public Works | Lewis, Velinda | Williams-Dann, Myrtis Lee | 19127 | OMIRA | NaN | 19127.0 | Omira | Detroit | ... | 8 | 4 | False | False | False | False | True | False | False | 1 |
| 62455 | 87205 | Department of Public Works | Bell, Maydell | MALKI, SHAMOUN | 415 | FERNHILL | NaN | 415.0 | FERNHILL | DETROIT | ... | 8 | 4 | False | False | False | False | True | False | False | 1 |
| 62464 | 87110 | Department of Public Works | Lewis, Velinda | Agnitch, James J. | 19692 | OMIRA | NaN | 19692.0 | Omira | Detroit | ... | 8 | 4 | False | False | False | False | True | False | False | 1 |
| 62476 | 86384 | Department of Public Works | Hayes, Billy J | MASON, RODNEY M | 17144 | BIRWOOD | NaN | 17144.0 | BIRWOOD | DETROIT | ... | 8 | 4 | False | False | False | False | True | False | False | 1 |
6385 rows × 45 columns
violator_name clean up¶
This category contains a lot of misspelling of the frequent perpetrators. The data has to be analysed manualy and the discrepancies corrected.
misspellings = {
'INVESTMENT, ACORN' : ['INVESTMENT CO., ACORN',
'Investment, Acorn',
'ACORN INVESTMENT, *',
'INVESTMENTS, ACORN',
'Acorn Investments, *',
'COMPANY, ACORN INVESTMENT',
'ACORN INVESTMENTS, *',
'CO., ACORN INVESTMENT',
'Investment Co., Acorn',
'investment, acorn',
'INVESTMENT CO, ACORN',
'ACORN INVESTMENT CO., .',
'Company, Acorn Investment',
'ACORN INVESTMENT COMPANY, .',
'Co., Acorn Investment',
'INVESTMENT COMP., ACORN',
'COMPANY, ACORN INVESTMENT',
'ACORN INVESTMENT CO., *',
'Co, Acorn Investment',
'INVESTMENT CO. , ACORN',
'Investment Company, Acorn',
'INVESTMENT COMPANY, ACORN',
'COMP., ACORN INVESTMENT',
'ACORN INVSTM. CO., .',
'CO, ACORN INVESTMENTS',
'CO, ACORN INVESTMENT',
'INVETMENT CO., ACORN',
'CO., ACORN INVESTMENT',
'Co., Acorn Investment-',
'COMP, ACORN INVERTMENT',
'Investment, Acorns',
'Investment Co, Acorn',
'acorn investment, *',
'ACORN INVESMENTS, *',
'INNESTMENT, ACORN',
'ACORN INVESTMENT, CO',
'IVESTMENT, ACORN',
'INVESMENT, ACORN',
'Acorn Investment, *',
'ACORN INVESTMENTS CO., .',
'c/o ACORN INV., OAK MANAGEMENT',
'Investment, Company Acorn',
'COMPANY, ACORN INVESTMENT',
'INVESTMENT CO, A CORN',
'INVESTMENT CO., A CORN',
'INVESTMENT COMPANY, A CORN',
'INVESTMENT, A CORN'],
'BANK, WELLS FARGO' : ['BANK MINNESOTA, WELLS FARGO',
'BANK MINNESOTA, WELLS FARGO',
'BANK MINNSOTA, WELL FARGO',
'BANK, W ELLS FARGO',
'BANK, WELL FARGO',
'BANK, WELLS FARGO',
'BANK, WELLS FARGO',
'FARGO BANK, WELLS',
'FARGO HOME MORTGAGE, WELLS',
'FARGO, WELLS',
'Fargo Bank, Wells',
'MINNESOTA, WELL FARGO BANK',
'MINNESOTA, WELLS FARGO BANK',
'WELL FARGO BANK MINNESOTA, .',
'WELLS FARGO BANKS MINNESOTA, .'
'WELLS FARGO BANK, .',
'MINNESOTA, WELLS FARGO BANK,',
'BANK, N.A., WELLS FARGO',
'BANK MINNESOTA, WELLS FARGO',
'MINNESOTA, WELLS FARGO BANK',
'Bank, Wells Fargo',
'BANK, NA, WELLS FARGO',
'C/O OCWEN FEDERAL BANK, FSD., WELLS FARGO BANK-MINN.',
'BANK,NA TRUSTEE, WELLS FARGO',
'HOME MORTGAGE INC, WELLS FARGO',
'BANK N. A., WELLS FARGO',
'WELLS FARGO HOME MTG., INC., .',
'for option one mtg., wells fargo bank natl.assoc trustee',
'TRUSTEE, WELLS FARGO BANK',
'Bank,NA, Wells Fargo',
'for option one mtg. loan, wells fargo bank m natl.assoc. trustt',
'HOME MORTGAGE, WELLS FARGO',
'BANK MINNESOTA NA, WELLS FARGO',
'MINNESOTA, N.A., WELLS FARGO BANK',
'MINNNESOTA, N.A., WELLS FARGO BANK',
'BANK,,N.A., WELLS FARGO',
'BANK,N.A., WELLS FARGO',
'BANK , WELLS FARGO',
'WELLS FARGO HOME MORTGAGE, INC, .',
'BANK- MINNESOTA, WELLS FARGO',
'MORTGAGE, INC., WELLS FARGO HOME',
'MTG INC, WELLS FARGO HOME',
'MINNESOTA, WELLS FARGO',
'MORTGAGE, INC, WELLS FARGO HOMES',
'BANK-MINNESOTA, WELLS FARGO',
'NATIONAL ASSOCIATION, WELLS FARGO MINNESOTA',
'HOME MORTGAGA, WELLS FARGO',
'WELLS FARGO HOME MTG.. INC, .',
'C/O OCWEN FEDERAL BANK FSB, WELLS FARGO BANK MINN.',
'NATIONAL ASSC, WELLS FARGO BANK MINNESOTA',
'MORTGAGE, INC, WELLS FARGO HOME',
'AMERICA INC, WELLS FARGO FINANCIAL',
'BANK N.A, WELLS FARGO',
'BANK, N.A, WELLS FARGO',
'MORTGAGE INC., WELLS FARGO HOME',
'BANK MINN., WELLS FARGO',
'WELLS FARGO BANK MINNESOTA, .',
'MORTGAGE, INC., WELLS FARGO HOME',
'BANK MINNESOTA NATIONAL ASSOC., WELLS FARGO',
'BANK OF MINESOTA, WELLS FARGO',
'BANK N.A., WELLS FARGO',
'MORTGAGE, WELLS FARGO HOME',
'GRP/AG REAL ESTATE ASSET TRUST, WELLS FARGO MINNESOTA NATL ASSOC. (TRUSTEE)',
'GRP/AG REAL ESTATE ASSET TRUST, WELLS FARGO MINNESOTA NATL. ASSOC (TRUSTEE)',
'MORTGAGE INC, WELLS FARGO',
'BANK MINNISOTA, WELLS FARGO',
'MINNESOTA, WELLS FARGO BANK,',
'WELLS FARGO BANKS MINNESOTA, .',
'WELLS FATGO BANK MINN., .',
'option one mtg.loan, wellsfarbo bank , Minnesota natl.assoc.,trustee for'],
'MANAGEMENT CO., WINGATE' : ['MANAGEMENT CO., WINGATE',
'MANAGEMENT, WINGATE',
'APTS/WINGATE, INDUSTRIAL BUILDING',
'WINGATE, EDDIE & JAMES',
'MANAGEMENT CO,, WINGATE',
'MANAGEMENT CO,., WINGATE',
'WINGATE MGT CO. INC, *',
'WINGATE, WILLIAM',
'Wingate Mgt. Co. Inc., *',
'WINGATE, NEIL',
'MGT. CO, WINGATE',
'Industrial Bldg. Apts/ Wingate, *'],
'NEW YORK, BANK OF' : ['NEW YORK, BANK OF',
'NEW YORK, BANK OF',
'NEW YORK, THE BANK OF',
'OF NEW YORK, THE BANK',
'BANK OF NEW YORK, .',
'NEW YORK , BANK OF',
'TRU, BANK OF NEW YORK',
'NEW YORK, BNK OF',
'CERTFICATE HOLDERS CWABS2004-1, BANK OF NEW YORK TRUSTEE',
'OF NEW YORK, BANK',
'NEW YORK, THE BANK OF',
'NEW YORK-TRUSTEE , BANK OF',
'NEW YORK TRUST, BANK OF',
'New York, The Bank of',
'THE BANK OF NEW YORK, *',
'NEW YORK, Bank of'],
'BANK, DEUTSCHE' : ['TRUST CO, DEUTCHE BANK NATIONAL',
'NATIONAL TRUST CO., DEUTSCHE BANK',
'NATIONAL TRUST, DEUTSCHE BANK',
'NATIONAL TRUST CO, DEUTSCHE BANK',
'TRUST CO., DEUTSCHE BANK NATIONAL',
'TRUST COMPANY, DEUTSCHE BANK NATIONAL',
'COMPANY AMERICAS, DEUTSCHE BANK TRUST',
'COMPANY, DEUTSCHE BANK NATIONAL TRUST',
"CO, DEUTSCHE BANK NAT'L TRUST",
'NATIONAL TRUST COMPANY, DEUTSCHE BANK',
'TRUST CO, DEUTSCHE BANK NATIONAL',
'NATIONAL TRUST CO., DEUTSCHE BANK',
'TRUST CO., DEUTSCHE BANK',
'& TRUST CO., DEUTSCHE BANK',
"TRUST CO, DEUTSCHE BANK NAT'L",
'TRUST CO., DEUTSCHE NATIONAL',
'DEUTSCHE BANK NATIONAL TRUST C, .',
"CO., DEUTSHE BANK NAT'L TRUST",
'BANK TRUST CO., DEUTSCHE NATIONAL',
'NAT. TRUST, DEUTSCHE BANK',
'National Trust Co., Deutsche Bank',
'BANK NATIONAL TRUST CO., DEUTSCHE',
'TRUST CO, DEUTSHE BANK NATION AL',
'TRUST CO AMERICAS, DEUTSCHE BANK',
'DEUTSCHE BANK NAT. TRUST CO., .',
'NATIONAL TRUST CO., DEUTSCHE BANK',
'F/K/A BANKERS TRUST CO., DEUTSCHE BANK TRUST CO. AMERICAS,',
'NATIONAL TRUST, DEUTSCHE BANK',
'COMPANY, DEUTSCHE BANK TRUST',
'TRUST, DEUTSCHE BANK NATIONAL',
'ASS, DEUTSCHE BANK NATIONAL',
'BANK, DEUTSCHE NATIONAL',
'Company of the Americas, Deutsche Bank Trust',
'TRUST CO, DEUTSCHE BANK NATIONAL',
"NAT'L TRUST CO., DEUTSCHE BANK",
'BANK NATIONAL TRUST CO, DEUTSCHE',
'BANK NATIONAL TRUST CO, DEUTSCHE',
'C/O AMERE QUEST, DEUTSCHE BANK NATL TRUST CO',
'NATIONAL TRUST CO., DEUTSHE BANK',
'NAT. TRUST CO., DEUTSCHE BANK',
'COMPANY, DEUTSCHE BANK NATIONAL TRUST',
'NATIONAL. CO , DEUTSCHE BANK',
'AMERICAS, DEUTSCHE BANK TRUST COMP.',
'DEUTSCHE BANK NATIONAL TRUST , 000000',
'DEUTSCHE BANK CO. OF CA, .',
'TRUST COMPANY, DEUTSCHE BANK NATIONAL',
'CO., DEUTSCHE BANK NATIONAL TRUST',
'CO, DEUTSCHE BANK NATIONAL TRUST',
'bank, deutsche',
'NATIONAL TURST CO., DEUTSCHE BANK',
'TRUST CO., DEUTSHE BANK NATIONAL',
'TRUST COMPANY AMERICAS, DEUTSCHE BANK',
'TRUST CO, DEUTSCHE BANK NAT'],
'US Bank National Association' : ['ASSOCIATION, U.S. BANK NATIONAL',
'ASSOC, US BANK NATIONAL',
'ASSOC., US BANK NATIONAL',
'ASSOCIATION, US BANK NATIONAL',
'ASSOCIATION, U. S.BANK NATIONAL',
'ASSOC., U.S. BANK NATIONAL',
'C/O HOMEQ SERVICING CORP., US BANK NATIONAL ASSOC',
'C/O HOMEQ SERVICING CORP, US BANK NATIONAL ASSOC',
'ASS., US BANK NATIONAL',
'ASSOCATION, U.S. BANK NATIONAL',
'US BANK NATIONAL ASSOC, *',
'ASSOCIATION, US BANK NATIONSAL',
'N. A., US BANK',
'NA, US BANK',
'NATIONAL ASSOC., US BANK',
'NATIONAL ASSOCIATION, US BANK',
'TRUSTEE, US BANK NATIONAL ASSOCIATION',
'US BANH NTNL. ASSN., .',
'US BANK NTNL. ASSN., .',
'US Bank National Association'],
'Lasalle Bank National Association' : [
'NATIONAL ASSOCIATION, LASALLE BANK',
'ASSOCIATION, LASALLE BANK NATIONAL',
'LASALLE BANK, .',
'Bank, LaSalle',
'Associates, LaSalle Bank National',
'NATIONAL ASSOC., LASALLE BANK',
'LASALLE BANK MIDWEST, .',
'NATIONAL TRUST ASSOCIATION, LASALLE BANK',
'National Association, LaSalle Bank',
"TRUSTEE, LASALLE BANK NAT'L ASSOC.",
'NATIONAL, LASALLE BANK',
'BANK NATIONAL ASSOCIATION, LASALLE',
'ASSOC., LASALLE BANK NATIONAL',
'MIDWEST, LASALLE BANK',
'LASALLE, GLENN',
'LASALLE BANK NATL. ASSN., .',
'BANK, LASALLE',
'ASS., LASALLE BANK NATIONAL',
'LASALLE BANK NATL. ASSC., .',
'LASALLE BANK NATL. ASSCN., .'],
'BANK, WASHINGTON MUTUAL': [
'BANK, WASHINGTON MUTUAL',
'MUTUAL BANK, WASHINGTON',
'WASHINGTON MUTUAL BANK, .',
'TROTT&TROTT,PC, WASHINGTON MUTUAL BANK',
'BANK F.A., WASHINGTON MUTUAL',
'MUTUAL BANK F.A., WASHINGTON',
'BANK, WASHINGTON MUTUAL',
'F A, WASHINGTON MUTUAL BANK',
'BANK, F.A., WASHINGTON MUTUAL',
'BANK, FA, WASHINGTON MUTUAL',],
'FELLOWSHIP ESTATES LLC, .' : ['FELLOWSHIP ESTATES, L.L.C. , .',
'FELLOWSHIP ESTATES, L.L.C., .',
'FELLOWSHIP ESTATES, LLC, .'],
'BANK, WACHOVIA' : ['BANK, WACHOVIA',
'Bank NA, Wachovia',
'OF DELAWARE, WACHOVIA BANK',
'WACHOVIA BANK, .'],
'BANK, JP MORGAN CHASE' : ['BANK, J P MORGAN CHASE',
'BANK, J P MORGAN CHASE',
'BANK, J.P. MORGAN CHASE',
'BANK, JP MORGAN CHASE',
'BANK, JP MORGAN CASE',
'BANK, JPMORGAN CHASE',
'BANK, JPMORGAN CHASE',
'C-BASS MGT., J. P. MORGAN CHASE BANK',
'C-BASS MGT., J.P. MORGAN CHASE BANK',
'C/O OCWEN LOAN SERVICE LLC, J.P. MORGAN CHASE BANK',
'C/OHOMECOMINGS FINANCIAL NETWO, JP MORGAN CHASE BANK',
'C/Ohomecoming financial networ, JP.MORGAN CHASE BANK',
'CAPITAL INC., MORGAN STANLEY ABS',
'CAPITAL, MORGAN STANLEY DEAN WITTER',
'CHASE BANK, J P MORGAN',
'CHASE BANK TRUSTEE, JP MORGAN',
'CHASE BANK, J P MORGAN',
'CHASE BANK, J P MORGAN',
'CHASE BANK, J. P. MORGAN',
'CHASE BANK, J.P. MORGAN',
'CHASE BANK, JP MORGAN',
'CHASE BANK, N.A. AS TRUSTEE, J. P. MORGAN',
'CHASE BANK-TRUSTEE, JPMORGAN',
'CHASE, J P MORGAN',
'CHASE, JP MORGAN',
'Chase Bank, JP Morgan',
'J P MORGAN CHASE BANK, .',
'MORGAN CAHSE BANK, JP',
'MORGAN CHASE, JP',
'TROTT&TROTT P.C., JP MORGAN CHASE BANK IN C/O'],
'MORTGAGE ELECTRONIC' : ["INC, MORTGAGE ELECTRONIC REG. SYS'S",
"INC, MORTGAGE ELECTRONIC SYS'S",
'MORTGAGE ELECTRONIC REG. SYS., .',
'MORTGAGE ELECTRONIC REG.SYS.,I, .',
'MORTGAGE ELECTRONIC REGIST., *',
'REG SYS. INC, MORTGAGE ELECTRONIC',
'REG. SYS., INC., MORTGAGE ELECTRONIC',
'REG. SYSTEM, MORTGAGE ELECTRONIC',
'REGISITRATION SYS. INC, MORTGAGE ELECTRONIC',
'REGIST SYSTEM, MORTGAGE ELECTRONIC',
'REGISTARTION SYSTEM INC., MORTGAGE ELECTRONIC',
'REGISTATION SYSTEM INC., MORTGAGE ELECTRONIC',
'REGISTATION SYSTEM INC, MORTGAGE ELECTRONIC',
'REGISTRARION SYSTEM INC., MORTGAGE ELECTRONIC',
'REGISTRATION INC, MORTGAGE ELECTRONIC',
'REGISTRATION INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM,INC, MORTGAGE ELECTRONIC',
'REGISTRATION INC, MORTGAGE ELECTRONIC',
'REGISTRATION SY, MORTGAGE ELECTRONIC',
'REGISTRATION SY., MORTGAGE ELECTRONIC',
'REGISTRATION SYM. INC., MORTGAGE ELECTRONIC',
"REGISTRATION SYS'S, INC., MORTGAGE ELECTRONIC",
'REGISTRATION SYS, MORTGAGE ELECTRONIC',
'REGISTRATION SYS. INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYS., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM,INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEM,INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS, INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS, INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS,INC , MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS,INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS,INC, MORTGAGE ELECTRONICS',
'REGISTRATION SYSTEMS,INC., MORTGAGE ELECTRONIC',
'REGISTRATION, MORTGAGE ELECTRONIC',
'REGRISTRATION SYSTEM INC, MORTGAGE ELECTRONIC',
'Registration Systems, Mortgage Electronic',
'SY, MORTGAGE ELECTRONIC REGISTRATION',
'SYSTEM INC, MORTGAGE ELECTRONIC REAGISTRATION',
'SYSTEM INC., MORTGAGE ELECTRONIC REGISTRATION',
"SYSTEM'S INC, MORTGAGE ELECTRONIC REGIS.",
'SYSTEM, INC, MORTGAGE ELECTRONIC REGISTRATION',
'SYSTEM, MORTGAGE ELECTRONIC REGISTRAT',
'SYSTEMS INC., MORTGAGE ELECTRONIC',
'SYSTEMS, INC., MORTGAGE ELECTRONIC REGISTRATION',
'SYSTEMS, MORTGAGE ELECTRONIC REGISTRATION',
'SYSTEMS, MORTGAGE ELECTRONIC REGISTRATI',
'SYSTEMS, MORTGAGE ELECTRONIC REGISTRATION',
'SYSTEMS,INC, MORTGAGE ELECTRONIC REGISTRATION',
'SYSTEMS,INC., MORTGAGE ELECTRONIC REGISTRATION',
'ELECTRONIC REGISTATION SYST, MORTGAGE',
'ELECTRONIC INC, MORTGAGE',
'ELECTRONIC REG. SYS., MORTGAGE',
'ELECTRONIC MORT. REG. SYSTEM, .',
'ELECTRONIC REG SYS INC, MORTGAGE',
'ELECTRONIC REGISTRATION , SHD MORTGAGE',
'ELECTRONIC REGISTRATION SYSTEM, MORTGAGE',
'ELECTRONIC REGISTRATION, MORTGAGE',
'ELECTRONIC SYSTEMS, MORTGAGE',
'ELECTRONIC, MORTGAGE',
'JONATHAN EGHMAN, MTG. ELECTRONIC REGISTRATION S IN C/O',
'MORTGAGE ELECTRONIC',
'REGISRATION SYSTEM INC., MTG. ELECTRONIC',
'REGISTRATION SY, MORTOR ELECTRONIC',
'REGISTRATION SYS. INC, MORTAGE ELECTRONIC',
'REGISTRATION SYSTEM INC., MORTAGE ELECTRONIC',
'REGISTRATION SYSTEM, INC., MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS,INC, MORTGAGE ELECTRONIC',
'REGISTRATION SYSTEMS. INC., MORTGAGE ELECTRONIC',
'REGISTRATION, MORTGAGE ELECTRONIC',
'SYSTEM, ELECTRONIC REGISTRATION',
'SYSTEMS INC., MTG. ELECTRONIC REGISTRATION',
'SYSTEMS, INC, ELECTRONIC REGISTRATION',
'SYSTEMS, MTG.ELECTRONIC REGISTRATION',
'TROTT&TROTT ATTY., MTG.ELECTRONIC REGISTRATION SY IN C/O',
'system inc., MTG.Electronic registration',
'system llc, mtg.electronic registration',
'system llc., mtg.electronic registration'],
'FEDERAL NATIONAL MTG. A.' : ['ASSN, FEDERAL NATIONAL MTG',
'ASSOC, FEDERAL NATIONAL MORTGAGE',
'ASSOC., FEDERAL NATIONAL MTG.',
'ASSOC., FEDERAL NATIONAL MORTGAGE',
'ASSOC., FEDERAL NATIONAL MTG.',
'ASSOCIATION, FEDERAL NATIONAL MORTGAGE',
'FEDERAL NATIONAL MORTGAGE ASSO, *',
'FEDERAL NATIONAL MORTGAGE ASSO, .',
'FEDERAL NATIONAL MTG. ASSN., .',
'MORT ASSOCIATES, FEDERAL NATIONAL',
'MORTGAGE ASS., FEDERAL NATIONAL',
'MORTGAGE ASSOC, FEDERAL NATIONAL',
'MORTGAGE ASS, FEDERAL NATIONAL',
'MORTGAGE ASSN., FEDERAL NATIONAL',
'MORTGAGE ASSO., FEDERAL NATIONAL',
'MORTGAGE ASSOC, FEDERAL NATIONAL',
'MORTGAGE ASSOC. , FEDERAL NATIONAL',
'MORTGAGE ASSOC., FEDERAL NATIONAL',
'MORTGAGE ASSOCATION , FEDERAL NATIONAL',
'MORTGAGE ASSOCIATION, FEDERAL NATIONAL',
'MORTGAGE, FEDERAL NATIONAL',
'MTG ASSOC., FEDERAL NATIONAL',
'MTG, FEDERAL NATIONAL',
'MTG. ASSOC., FEDERAL NATIONAL',
'Mortgage Assoc., Federal National',
'Mortgage Association, Federal National',
'NORTGAGE ASSOCIATION, FEDERAL NATIONAL'],
'BANK, HSBC' : ['BANK USA, HSBC',
'BANK (USA), HSBC',
'BANK USA, HSBC',
'CORP III.HSBC MTG SERVICES, HOUSEHOLD FINANCE',
'CORP III.HSBC MTG SERVICES, HOUSEHOLD FINANCE',
'MORTGAGE, HSBC',
'USA, HSBC BANK'],
'SEPTEMBER PROPERTIES' : ['PROPERTIES, SEPTEMBER', 'PROPERTYS, SEPTEMBER', 'SEPTEMBER PROPERTIES, .'],
'DETROIT NEIGHBORHOOD DEVELOPMENT' : ['CO, DET NEIGHBORHOOD DEVELOPMENT',
'CO, DETROIT NEIGHBOR HOOD DEVELOPMENT',
'CO, DETROIT NEIGHBORHOOD DEVELOPMENT',
'CORP., DETROIT NEIGHBORHOOD DEVELOPMENT',
'DETROIT NEIGHBORHOOD DEV, NORTHWEST',
'DETROIT NEIGHBORHOOD DEV., *',
'DETROIT NEIGHBORHOOD DEVEL COR, 000000',
'DETROIT NEIGHBORHOOD DEVELOPE, .',
'DETROIT NEIGHBORHOOD DEVELOPME, *',
'DETROIT NEIGHBORHOOD DVL. CORP, *',
'DETROIT NEIGHBORHOOD DVLP., *',
'DETROIT NEIGHBORHOOD SERV., *',
'DETROIT NEIGHBORHOOD, NORTHWEST',
'DEV. CORP., DETROIT NEIGHBORHOOD',
'DEV., DETROIT NEIGHBORHOOD',
'DEVEL0PMENT, DETROIT NEIGHBORHOOD',
'DEVELOPEMENT CO., DETROIT NEIGHBORHOOD',
'DEVELOPEMENT, DETROIT NEIGHBORHOOD',
'DEVELOPEMENT, DETROIT NEIGHBORHOOD',
'DEVELOPMENR CORPORATION, DETROIT NEIGHBORHOOD',
'DEVELOPMENT CO., DETROIT NEIGHBORHOOD',
'DEVELOPMENT CORP., DETROIT NEIGHBORHOOD',
'DEVELOPMENT CO, DETROIT NEIGHBORHOOD',
'DEVELOPMENT CO., DETROIT NEIGHBORHOOD',
'DEVELOPMENT CO., DETROIT NEIGHBORHOOD',
'DEVELOPMENT CORP, DETROIT NEIGHBORHOOD',
'DEVELOPMENT CORP., NORTHWEST DETROIT NEIGHBORHOOD',
'DEVELOPMENT, DETROIT NEIGHBOR',
'DEVELOPMENT, DETROIT NEIGHBORHOOD',
'DEVELOPMENT, NORTHWESTDETROIT NEIGHBORHOOD',
'DEVELOPMENT.CO, DETROIT NEIGHBORHOOD',
'Detroit Neighborhood Dev. Co. , *',
'Dev. Corp., Cass Corridor Neighborhood',
'Development Co., Detroit Neighborhood',
'Development Corp, Detroit Neighborhood',
'Development Corp., Detroit Neighborhood',
'Development, Detroit Neighborhood',
'NEIGHBOR DEV., DETROIT',
'NEIGHBORHOOD DEV, NORTHWEST DETROIT',
'NEIGHBORHOOD DEV., NORTHWEST DETROIT',
'NEIGHBORHOOD DEV., NORTHWEST DETROIT',
"NEIGHBORHOOD DEV'T, DETROIT",
'NEIGHBORHOOD DEV, DETROIT',
'NEIGHBORHOOD DEV. CO., DETROIT',
'NEIGHBORHOOD DEV., DETROIT',
'NEIGHBORHOOD DEV., NORTHWEST DETROIT',
'NEIGHBORHOOD DEV., NORTHWEST DETROIT',
'NEIGHBORHOOD DEVELOPMENT CO, DETROIT',
'NEIGHBORHOOD DEVELOPMENT CORP, *',
'NEIGHBORHOOD DEVELOPMENT, DETROIT',
'NEIGHBORHOOD INC., CORE CITY',
'NEIGHBORHOOD, *',
'NEIGHBORHOOD, CORE CITY',
'NEIGHBORHOOD, INC., CORE CITY',
'NEIGHBORHOOD, NORTHWEST DETROIT',
'NEIGHBORHOOD, SOUTHWEST ALLIANCE FOR',
'NEIGHBORHOODS INC., CORE CITY',
'NEIGHBORHOODS, CORE CITY',
'NORTHWEST DETROIT NEIGHBORHOOD, .',
'development co, detroit neighborhood'],
'KAY BEE KAY PROPERTIES, .' : ['PROPERTIES L.L.C, KAY BEE KAY',
'PROPERTIES, KAY BEE KAY',
'Properties, LLC, Kay Bee Kay']
}
misspellings_inv = {}
for key in misspellings.keys():
for value in misspellings[key]:
misspellings_inv[value] = key
df_fines['violator_name'] = df_fines['violator_name'].map(
lambda name:
misspellings_inv[name] if name in misspellings_inv.keys()
else name
)
df_fines.columns
Index(['ticket_id', 'agency_name', 'inspector_name', 'violator_name',
'violation_street_number', 'violation_street_name',
'violation_zip_code', 'mailing_address_str_number',
'mailing_address_str_name', 'city', 'state', 'zip_code',
'non_us_str_code', 'country', 'ticket_issued_date', 'hearing_date',
'violation_code', 'violation_description', 'disposition', 'fine_amount',
'admin_fee', 'state_fee', 'late_fee', 'discount_amount',
'clean_up_cost', 'judgment_amount', 'payment_amount', 'balance_due',
'payment_date', 'payment_status', 'collection_status',
'grafitti_status', 'compliance_detail', 'compliance', 'ticket_year',
'ticket_month', 'ticket_day', 'isMonday', 'isTuesday', 'isWednesday',
'isThursday', 'isFriday', 'isSaturday', 'isSunday', 'isOwner'],
dtype='object')
# df_fine_counter = df_fines.groupby('violator_name').sum()[['balance_due']].sort_values(by='balance_due', ascending=False)
# df_fine_counter.head(20)
selected = []
query = "KAY BEE KAY"
keys = df_fines['violator_name'].unique()
for key in keys:
if query.lower() in key.lower():
selected.append(key)
sorted(selected)
['KAY BEE KAY PROPERTIES, .']
Combine the data¶
df_joint = pd.merge(df_addresses, df_latlons,
how='inner', on='address')
df_joint = pd.merge(df_fines, df_joint,
how='inner', on='ticket_id')
len(df_fines.index)
42023
Data exploration¶
Header of the DataFrame¶
df_fines.head(5)
| ticket_id | agency_name | inspector_name | violator_name | violation_street_number | violation_street_name | violation_zip_code | mailing_address_str_number | mailing_address_str_name | city | ... | ticket_month | ticket_day | isMonday | isTuesday | isWednesday | isThursday | isFriday | isSaturday | isSunday | isOwner | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 22056 | Buildings, Safety Engineering & Env Department | Sims, Martinzie | INVESTMENT INC., MIDWEST MORTGAGE | 2900 | TYLER | NaN | 3.0 | S. WICKER | CHICAGO | ... | 3 | 16 | False | True | False | False | False | False | False | 0 |
| 1 | 27586 | Buildings, Safety Engineering & Env Department | Williams, Darrin | Michigan, Covenant House | 4311 | CENTRAL | NaN | 2959.0 | Martin Luther King | Detroit | ... | 4 | 23 | False | False | False | False | True | False | False | 0 |
| 5 | 22046 | Buildings, Safety Engineering & Env Department | Sims, Martinzie | KASIMU, UKWELI | 6478 | NORTHFIELD | NaN | 2755.0 | E. 17TH | LOG BEACH | ... | 5 | 1 | False | False | False | False | False | True | False | 0 |
| 6 | 18738 | Buildings, Safety Engineering & Env Department | Williams, Darrin | Deerwood Development Group Inc, Deer | 8027 | BRENTWOOD | NaN | 476.0 | Garfield | Clinton | ... | 6 | 14 | True | False | False | False | False | False | False | 0 |
| 7 | 18735 | Buildings, Safety Engineering & Env Department | Williams, Darrin | Rafee Auto Services L.L.C., RAF | 8228 | MT ELLIOTT | NaN | 8228.0 | Mt. Elliott | Detroit | ... | 6 | 16 | False | False | True | False | False | False | False | 1 |
5 rows × 45 columns
df_fines.iloc[1]
ticket_id 27586 agency_name Buildings, Safety Engineering & Env Department inspector_name Williams, Darrin violator_name Michigan, Covenant House violation_street_number 4311 violation_street_name CENTRAL violation_zip_code NaN mailing_address_str_number 2959.0 mailing_address_str_name Martin Luther King city Detroit state MI zip_code 48208 non_us_str_code NaN country USA ticket_issued_date 2004-04-23 12:30:00 hearing_date 5/6/2005 13:30 violation_code 61-63.0600 violation_description Failed To Secure Permit For Lawful Use Of Buil... disposition Responsible fine_amount 750 admin_fee 20 state_fee 10 late_fee 75.0 discount_amount 0 clean_up_cost 0 judgment_amount 855.0 payment_amount 780.0 balance_due 75.0 payment_date 6/2/2005 0:00 payment_status 2 collection_status NaN grafitti_status NaN compliance_detail compliant by late payment within 1 month compliance True ticket_year 2004 ticket_month 4 ticket_day 23 isMonday False isTuesday False isWednesday False isThursday False isFriday True isSaturday False isSunday False isOwner 0 Name: 1, dtype: object
#df_fines.corr(method='pearson')
How many fines there are?¶
len(df_fines.index)
42023
Count numbers of fines by violator_name¶
df_fine_counter=df_fines['violator_name'].value_counts().to_dict()
df_fines.head(10)
df_fine_counter
{'INVESTMENT, ACORN': 692,
'BANK, WELLS FARGO': 156,
'MORTGAGE ELECTRONIC': 138,
'DETROIT NEIGHBORHOOD DEVELOPMENT': 131,
'BANK, DEUTSCHE': 121,
'MANAGEMENT CO., WINGATE': 62,
'NEW YORK, BANK OF': 61,
'BANK, JP MORGAN CHASE': 60,
'FEDERAL NATIONAL MTG. A.': 59,
'MILLER, JOHN': 50,
'SNOW, GEORGE': 49,
'KRAMER, KEITH': 41,
'LDHA, BARCLAY': 38,
'PACE, MICHAEL': 37,
'STEHLIK, JERRY': 32,
'ESTATES, EVERGREEN': 31,
'Lasalle Bank National Association': 30,
'RICHARDSON, JOHN': 30,
'US Bank National Association': 29,
'HUDSON, OTTMAR': 28,
'VILLAS, GENESIS': 27,
'ROSEN, NATHAN': 25,
'COMMONS LDHA LP, CHENE PARK': 25,
'LEONARD, JACK': 24,
'KING VILLAGE, ALBERTA W.': 24,
'BURTON, GERALD': 21,
'BURRELL, RAYMOND': 21,
'BURRELL, HELENE': 20,
'WOLFE, KENNETH': 19,
'MANAGEMENT, FOREST CITY': 19,
'DETROIT HOUSING COMMISSION, *': 19,
'CONSTRUCTION, REX': 19,
'COLEMAN, HAROLD': 19,
'GROUP, THE APARTMENT': 18,
'BANK, WASHINGTON MUTUAL': 18,
'PROPERTIES, HOSKINS': 18,
'BUFFINGTON, DERONE': 18,
'FORIEST, DONALD': 17,
'FOREST PARK, FRIENDSHIP': 17,
'APARTMENTS, CARLTON': 17,
'GARDENS, SAVANNAH': 17,
'BROYLES, JOE A': 16,
'BAKEMAN, NORMAN': 16,
'COMPANY, DETROIT LEASING': 16,
'BANK, WACHOVIA': 15,
'FRIENDSHIP FOREST PARK, *': 15,
'SMITH, LUCILLE': 15,
'JONES, ALVIN': 15,
'HUFF, CHERYL': 15,
'BROOKS, PENCYNTHIE': 15,
'KANSY, JOSEPH': 15,
'SOULAR, GEORGE': 14,
'LANNING, ANTHONY L.': 14,
'BRIKHO, MAYSOON': 14,
'LARKINS, DEONE': 14,
'nan': 14,
'JACKSON, RAYFORD': 14,
'APARTMENTS, WESTPARK': 14,
'TURNBULL, HUGO': 14,
'TODD, TYRONE': 14,
'DYER, MARGIE': 14,
'ROW INC., NOTTINGHAM': 13,
'CONNER, VICKY': 13,
'SHIFMAN, ALLEN': 13,
'ROSE, MAURICE': 13,
'SAMMUT, ELIZABETH': 13,
'CALHOUN, ANDREW': 13,
'MOORE, LEE V': 13,
'DIXON, ROBERT': 13,
'PROPERTIES INC., HOSKINS': 12,
'CHAPMAN, LEON': 12,
'CORPORATION, 1ST CITY': 12,
'TREANOR, JOHN': 12,
'APARTMENTS, TOWN SQUARE': 12,
'PULLIAM, JAMES': 12,
'ONE, BANK': 12,
'JOHNSON, ROBERT': 12,
'HICKMAN, ERMA': 12,
'WILLIAMS, SAM': 12,
'DEMBICKI, JOSEPH': 12,
'BARNES, JOHN': 11,
'JACKSON, CARLSON': 11,
'MANOR, EMBASSY': 11,
'PAPALE, MARK': 11,
'ROSSER JR., ERWIN': 11,
'HOLMES, EDDIE': 11,
'RUPERT, HENRY': 11,
'SHORES, TINA': 11,
'INVESTMENT CO., REX': 11,
'THOMPSON, PHILLIP': 11,
'DANIELS, ROBERT': 11,
'SANTARELLI, MARCO': 11,
'BROWN, HAZEL': 11,
'ROBINSON, JOHN': 11,
'Kramer, Keith': 11,
'WOODS, SAMUEL': 11,
'PROPERTIES LLC, CUSIMANO BROS': 10,
'LAIN, MARY': 10,
'TOWNHOMES, PALMER COURT': 10,
'WILSON, BARRY': 10,
'FENNOY, GWEN': 10,
'SACHS, RALPH': 10,
'WILLIAMS, WOODROW': 10,
'DINATALE, DONALD': 10,
'Corp., Amurcon': 10,
'NESBITT, LEVI': 10,
'FINANCIAL SERVICES, MILLENNIUM': 10,
'WILLIAMS, GREGORY': 10,
'L D H A, BARCLAY': 10,
'FLOYD, GREGORY': 10,
'KIMBLE, AED': 10,
'CO. INC., IMPERIAL MGMT': 9,
'COUTILISH, ARISTIDIES': 9,
'RAMSEY, EUGENE': 9,
'DAVIS, REGINALD': 9,
'SMITH, VINCENT': 9,
'GORDON, JEANETTE': 9,
'MOORE, MICHAEL': 9,
'CUNNINGHAM, BRENDA': 9,
'TREASURER, WAYNE COUNTY': 9,
'MANAGEMENT, PREMIER': 9,
'JORDAN, WILLIE': 9,
'BEVERLY, LUTHER': 9,
'GADSON, JAMES': 9,
'ANDERSON, DONALD': 9,
'WELLS FARGO BANK, .': 9,
'JOHNSON, CHRISTOPHER': 9,
'GADD, DONALD': 9,
'HOGUE, SHIRLEY': 9,
'DAVENPORT, ROSA B': 9,
'WALLACE, RANDOLPH': 9,
'WERKMEISTER, THOMAS': 9,
'MEADOWS, FRIENDSHIP': 9,
'L.D.H.A.L.P., Northlawn Apts.': 9,
'LOZOYA, RAMON': 9,
'irwin, john': 9,
'LITTLEJOHN, WILLIAM D': 9,
'PROPHET CHURCH, WORD OF THE': 9,
'WILCOX, DONALD': 9,
'PRICE, RICHARD': 9,
'BREWART, WILLIAM': 9,
'SANDERS, OTIS': 8,
'COMMISSION, DETROIT HOUSING': 8,
'FELLOWSHIP ESTATES LLC, .': 8,
'LUKOWSKI, KAZ': 8,
'LOWERY, DEON': 8,
'ENERGY, DTE': 8,
'DAVIS, ROBERT': 8,
'MARSH, CAROLYN': 8,
'CHAPPELL, BARBARA': 8,
'FREEDMAN, JUDY': 8,
'INVESTMENT CO, REX': 8,
'JONES, EDDIE': 8,
'JACKSON, CLARENCE': 8,
'MARTIN, NAKISHA': 8,
'BURRELL, RAYMOND C': 8,
'BURRELL, RAYMOND C.': 8,
'LLC, P J U': 8,
'JACKSON, THEODORE': 8,
'SNOW, GEORGE A': 8,
'GREEN III, ALEX': 8,
'SMITH, JOHN': 8,
'MANAGEMENT, KEYSTONE': 8,
'WOODGET, JAMES': 8,
'LOANS, COUNTRYWIDE HOME': 8,
'CLARK, KENNETH': 8,
'MATHEW, GEORGE': 8,
'M.E.R.S.I., .': 8,
'CHAMBERS, REGINA': 8,
'ASSOCIATES, FAIR': 8,
'HILTON, PATRICK': 8,
'MURRAY JR., WILLIE': 8,
'MICHELS, ROBERT': 8,
'GUTHERY, HELENA': 8,
'SCOTT, DWIGHT': 8,
'WILSON, ROY': 8,
'JOHNSON, JOHN': 8,
'management, perkins': 8,
'HOBBS, JAMES': 8,
'BANK, HSBC': 8,
'Snow, George': 8,
'Miller, John': 8,
'LEASING CO., DETROIT': 8,
'MCMURRAY, HERMAN': 8,
'MBONU, JONAS': 8,
'THOMPSON, LYNN': 8,
'WHITE, FRANK': 8,
'GARDNER, MICHAEL': 8,
'REYNOLDS, GEORGE': 8,
'HILL, MARZETTE': 8,
'MONROE, ANTHONY': 7,
'FOX, CLEMON': 7,
'ALLEN, ROBERT': 7,
'BANK, COMERICA': 7,
'TURNER, JUAN': 7,
'THOMAS, WILLIE': 7,
'OUTREACH MINISTRIES, FREE INDEED': 7,
'KELLY, RALPH': 7,
'TURNER, ROBERT': 7,
'ADAMS JR., ROBERT': 7,
'WILSON, JOSEPH': 7,
'HINES, RAYMOND': 7,
'LARSON, ROBERT': 7,
'CRAWFORD, WILLIE': 7,
'MOORE, MARY': 7,
'GOROSH, MARTIN': 7,
'TATARIAN, MATTHEW': 7,
'WILLIAMS, VICTOR': 7,
'MURRAY, JAMES': 7,
'DAVIS, JOHN': 7,
'VAN LUVEN, MARION': 7,
'HAISHA, ADIL': 7,
'WILSON, JAMES': 7,
'MARSHALL, GLORIA': 7,
'KINGSLEY, THOMAS': 7,
'IPOSU, STEPHEN': 7,
'THOMPSON, MARILYN': 7,
'JOHN, LAWRENCE': 7,
'HEWITT, RAYMOND': 7,
'COUNTS, ALMA': 7,
'KARMO, JOSEPH': 7,
'GROUP, THE FORMIDABLE': 7,
'MCLAURIN, FRED': 7,
'WHITE, WALTER': 7,
'LLC, PJU': 7,
'RISING, LOUISE': 7,
'SMITH, JOSEPH': 7,
'DONOVAN, MICHAEL': 7,
'JANZEWSKI, ROBERT': 7,
'MITCHELL, RICHARD': 7,
'MGT CO., LOCKWOOD': 7,
'COTTINGHAM, ROGER': 7,
'WILLIAMS, EDDIE': 7,
'HOMES LDHA, PROJECT': 7,
'KIRBY, TRACY': 7,
'COOPERATIVE, RALPH BUNCHE': 7,
'ALAM, ASAAD': 7,
'SALEM, AHMED': 7,
'GROSS, JASON': 7,
'moloian, aramis': 7,
'AIGORO, SHAMS': 7,
'DAVIS, SIDNEY': 7,
'WEINER, SAMUEL': 7,
'BARLOW, LINDA': 7,
'PROPERTIES, A & M': 7,
'LLC, ANATOLE': 7,
'LACLEAR, JOYCE': 7,
'MITCHELL, CLARENCE': 7,
'COHEN, DAN': 7,
'JOHNSON, LARRY': 7,
'RIVERS, RONALD': 7,
'YAZBECK, GHASSAN': 7,
'SYED, NAVEED': 7,
'WILLIAMS, EDWIN L': 7,
'COLE, PHILLIP': 7,
'JONES, DEBORAH': 7,
'TINNON, CURTIS': 7,
'WILLIAMS, MARCUS': 7,
'MICHELS, ROSE MARIE': 7,
'BANK, STANDARD FEDERAL': 6,
'MOUNT, HERBERT': 6,
'WILLIAMS, JAMES': 6,
'JONES, EDWARD': 6,
'HASENAU, JAMES': 6,
'COX, BESSIE': 6,
'INVESTMENT II, GREAT LAKES': 6,
'DEVELOPMENT LLC, DAVIES': 6,
'BROWN, HORACE': 6,
'DAYNE, MICHAEL F.': 6,
'WILLIAMS, WILLIE': 6,
'THOMPSON, DAVID': 6,
'CLARK, JAMES': 6,
'STEELE JR., HOWARD': 6,
'PROPERTIES, TREBUR': 6,
'EDISON, DETROIT': 6,
'MOORE, SHAWN': 6,
'DUNLAP, DEBRA': 6,
'DAVIS, REGINALD CLYDE': 6,
'BROWN, ANNIE': 6,
'BOYD, NARCISUS': 6,
'MOSLEY, JACOB': 6,
'GOLDBERGER, MEYER': 6,
'SMITH, WILLIAM': 6,
'DAYNE, MICHAEL': 6,
'PROPERTIES LLC, JIMCO': 6,
'Schwall, Edward': 6,
'HAMMOUD, RAMZI': 6,
'TANKSLEY, SYLVIA': 6,
'JONES, JIMMIE': 6,
'TURNBULL, HUGO K': 6,
'KAMEL, CAROLE': 6,
'BUCHANAN, RODNEY': 6,
"INC., AMY'S": 6,
'PILOT, ARNEE': 6,
'NOWAKOWSKI, JOSEPH': 6,
'REID, DWAYNE': 6,
'TUGGLE, LESTER': 6,
'LAVANT, BRYANT': 6,
'HEATH, GARFIELD': 6,
'HENDERSON, MARY': 6,
'BRADLEY, TROY': 6,
'YOUSIF, MIKE': 6,
'ARMSTRONG, RAYMOND': 6,
'ADAMS, AARON': 6,
'HARDY, RONALD': 6,
'GARY, CHRISTIAN': 6,
'MCGEE, MICHAEL': 6,
'COMMONS, CHENE PARK': 6,
'DETROIT MERCY, UNIVERSITY OF': 6,
'WOOD, LOWELL': 6,
'MCCLINTON, ALFRED': 6,
'REX CONSTRUCTION, *': 6,
'JOHNSON, WILLIAM': 6,
'Stehlik, Jerry': 6,
'FETWIE, SIRAJ': 6,
'SANDERS, MARCUS': 6,
'TURNER, WALTER': 6,
'PARKS, DERRICK': 6,
'BASS, MARCUS': 6,
'AYZIN, BORIS': 6,
'PIIR, PETER': 6,
'MACK, IRENE': 6,
'MATHEW, MATHEW': 6,
'BATCHELOR, GWENDOLYN': 6,
'REYNOLDS, LELDON': 6,
'CARPENTER, CLIFFORD': 6,
'TAYLOR, ISAAC': 6,
'WEBSTER, BERNARD': 6,
'TENBROECK, CHARLES': 6,
'KAGE, RICHARD M': 6,
'MICHALAK, CHRIS': 6,
'SELPH, WILLIE': 6,
'SMITH, BILLY': 6,
'INVESTMENT LLC, MOGHUL': 6,
'HILL, DONALD': 6,
'JOHNSON, BERNARD': 6,
'NORTON, ERIC': 6,
'BROOKS, JOHN': 6,
'STEWART, ANNIE': 6,
'WRIGHT, JAMES': 6,
'TRICE JR., BENJAMIN': 6,
'JOHNSON, WALTER': 6,
'PEARSON, BECKWITH': 6,
'HYDER, ALI': 6,
'HUDSON, DORA': 6,
'ROSMAN, STEPHEN': 6,
'ROGERS, EUGENE': 6,
'WILLIAMS, RUBY': 6,
'JOHNSON, BRENDA': 6,
'MARSHALL, DOROTHEA': 6,
'CUNNEGAN, EMMANUEL': 6,
'HONEY, MILDRED': 6,
'FERRY STREET, INN ON': 6,
'STEHLIK, HAROLD': 6,
'WADE, ELIZABETH': 6,
'HARRISON, MILTON': 6,
'BASSETT, ANNIE': 6,
'SMITH, SANDRA': 6,
'PROPERTY TRUST, BAYVIEW FINANCIAL': 6,
'WELBORNE, RAYMOND': 6,
'WOFFORD, GEORGE': 6,
'PROPERTIES, CEK': 6,
'AHMADIEH, DANIELLE': 6,
'SLAUGHTER, CORNELIUS': 6,
'SMITH, KING': 6,
'STAMPS, ANGELA': 6,
'WALKER, ARTHUR': 6,
'RICHARDSON, WALTER': 6,
'GIBSON, BRENDA': 6,
'HUNTER, LAMONT': 6,
'HOLLOWELL, RONALD': 6,
'CICERONE, GUY': 6,
'ANDERSON, DERRICK': 6,
'THOMAS, CHRISTINE': 6,
'JOHNSON, NANCY': 6,
'JARVIS, DAVID': 6,
'Village, Medical Center': 6,
'HERNANDEZ, JESUS': 6,
'BANKS, ROBERT': 6,
'DAVIS, KENNETH': 6,
'PERKINS, DENNIS': 6,
'SMITH, LARRY': 6,
'LIAGKOS, GEORGE': 6,
'WILLIAMS, ERIC': 6,
'HARRIS, ANTHONY': 6,
'WILHITE, CARLOS': 6,
'SINGLETON, JOSEPH': 6,
'FUGA, MARK': 6,
'WYTRWAL, JOSEPH': 5,
'WHITFIELD, EUNICE': 5,
'JOHNSON, BARBARA': 5,
'BROWN, WILLIAM': 5,
'JONES, JOHN': 5,
'NUNN, EDNA': 5,
'WILLIAMS, CLARENCE': 5,
'MANAGEMENT CO., MERRILL': 5,
'DAVIS, WESLEY': 5,
'THOMAS, FRED': 5,
'WILLIAMS, COLLETTE': 5,
'PROPERTIES, WESTPOINTE': 5,
'OWE, AYODELE': 5,
'SCOTT, FREDERICK': 5,
'MOSLEY, WILLIAM': 5,
'BRAND, MARSHA': 5,
'LIPARI, JOSEPH': 5,
'PROPERTIES LLC, NORTH HILLS': 5,
'SMITH, MICHAEL': 5,
'HARRINGTON, MADESTER': 5,
"O'NEAL, HENRY": 5,
'GRICE, MYRTHA': 5,
'BANK, MIDFIRST': 5,
'BUTLER, KENNETH': 5,
'MAGNAN, MARC': 5,
'FOX JR., ANDREW': 5,
'HARGROVE, PAULETTE': 5,
'ADAMS, LINDA': 5,
'PERRY, LARRY': 5,
'UPSHAW, JOE': 5,
'BORG, WILLIAM': 5,
'MINOR, FREDDI': 5,
'LIADI, SULEMAN': 5,
'NASSER, SHARIF': 5,
'ROBINSON, GEORGE': 5,
'Phoenix Homes, *': 5,
'PHARMACY INC, CVS': 5,
'JACKSON, WILLIE': 5,
"MORRIS, D'ANDRA": 5,
'TRIPP, HERBERT': 5,
'MCNARY, WILLIAM': 5,
'MANAGEMENT, WISE CHOICE': 5,
'CORP, LORBE': 5,
'BOJI, JEBRAIL': 5,
'CONWAY, TERENCE': 5,
'CARSON, IDA': 5,
'BRAXTON, MARGIE': 5,
'BALL, MARIA': 5,
'CRAWFORD, SARAYA': 5,
'LEWIS, MELVINE': 5,
'CHAPMAN, KENNETH': 5,
'MCAFEE, JERRY': 5,
'SIMMONS, CATHERINE': 5,
'EVANS, ELLIOT': 5,
'THOMAS, DWIGHT': 5,
'SHANNON, LUKE': 5,
'CHICOREL, ALBERT': 5,
'PHARMACY, CVS': 5,
'MARTIN, CATHY': 5,
'Hasenau, James': 5,
'GRIFIN, OLLIE': 5,
'DEVLOPMENT, OLYMPIA': 5,
'AARON, WALTER': 5,
'BURRELL, CLIFTON': 5,
'LEON, ELIAS': 5,
'FAITH MINISTRIES, MOUNTAIN OF': 5,
'Smith, Lucille': 5,
'PITTS, RONALD': 5,
'MABEY, JOHN': 5,
'MCCULLOCH, CAROL': 5,
'LATTA, MARY': 5,
'MCGLAUN, PRENTIS': 5,
'JOHNSON, JEVON': 5,
'BLACKMAN, ERNEST': 5,
'SCOTT, GROVER': 5,
'gadd, donald': 5,
'CONDOMINIUMS, PARC LAFAYETTE': 5,
'Chebli, Zeinab': 5,
'ANDERSON, CURTIS': 5,
'Properties Inc., Hoskins': 5,
'L.D.H.A., BARCLAY': 5,
'POWELL, GLADYS': 5,
'LONGLEY, JUDITH': 5,
'KARPINSKI, EDWARD': 5,
'MANAGEMENT, ASHER': 5,
'WOODS, WILLIAM': 5,
'ROBINSON, DAVID': 5,
'STEHLIK, JERRY E': 5,
'JENNINGS, ANGELA': 5,
'DUPIN JR., THEOPLIS': 5,
'LEAK, DOLORES': 5,
'CHAMBERS, RANDOLPH': 5,
'ROBINSON, FURMAN': 5,
'COCHRAN, EUGENE': 5,
'FAWAZ, ALI': 5,
'BUSH, RHONDA': 5,
'SMITH, ERNESTINE': 5,
'CHRISTIAN CHURCH, DEEPER LIFE': 5,
'FISHER, HAVIT': 5,
'JENKINS, SHEILA': 5,
'mathew, mathew v': 5,
'MANNING, WILLIE': 5,
'CURRIE, JACKIE': 5,
'BROWN, HENRY': 5,
'TINSLEY, KEITH': 5,
'PROPERTIES LLC, CUSIMANO BROS.': 5,
'TOLBERT, DARNELL': 5,
'RUTILIO, LOZANO SANCHEZ': 5,
'MARTIN, ROBIN': 5,
'MATTHEWS, JAMES': 5,
'MANAGEMENT LLC, COVER': 5,
'PROPERTIES, S & D': 5,
'WILLIAMS, LEROY': 5,
'ROBINSON, WILLIE': 5,
'GRIFFIN, WILLIAM': 5,
'KNOX, CHAD': 5,
'PROPERTIES, AMERICA': 5,
'FAKHOURY, KAMLEH': 5,
'CHAMBERS, ROBERT': 5,
'BAKER, JOHN': 5,
'MASSEY, JEROME': 5,
'GREEN, JOHN': 5,
'Apartments, Fairview Manor': 5,
'PROPERTIES, CITY PLACE': 5,
'Soular, George': 5,
'VANDERWOUDE, ROBERT W.': 5,
'Daoud, Emmanuel Y': 5,
'JOHNSON, JAMES': 5,
'ROBERTS, ANTHONY': 5,
'JOHNSON, ANDREW': 5,
'BROWN, JAMES': 5,
'ABDALLAH, HASSAN': 5,
'PALMER, ANTHONY': 5,
'THOMAS, SHIRLEY': 5,
'SHAW, GRAY PALMER': 5,
'PROPERTIES, REGAL': 5,
'FILMORE, MARKUS': 5,
'NORRIS JR., JOSEPH': 5,
'FIELD, RICHARD': 5,
'WILLIAMS, DEXTON': 5,
'BATES, DEANNA': 5,
'PANEK, WAYNE': 5,
'PRENTISS, TYRONE': 5,
'SMITHERMAN, WENDELL': 5,
'PARK, FRIENDSHIP FOREST': 5,
'GREGORY, WESLEY': 5,
'GRIFFITH, MARIE': 5,
'thornton, victor james': 5,
'LATIMER, GRADY': 5,
'BROWN, CHARLES': 5,
'CORP, NEVADA': 5,
'CHILDS, JASON': 5,
'PROPERTIES, AMERICAN': 5,
'GURLEY, DAVID': 5,
'WILSON, BENJAMIN': 5,
'GREEN, FRANK': 5,
'BELL, HUBERT': 5,
'HUDSON, RAYMOND': 5,
'JERMISON, CHARLES': 5,
'LTD, MORTGAGE': 5,
'JOHNSON, ANTHONY': 5,
'SCHESTER, ALLAN': 5,
'HUNTER, DIANE': 5,
'COMPANY, J & L': 5,
'DAVIS, MARY': 5,
'THOMPSON, NATHANIEL': 5,
'LESSER, MARTHA': 5,
'CRUSE, JEFFERY': 5,
'FISHER, CYNTHIA': 5,
'HOYE, DIANE': 5,
'JACKSON, ANDREW': 5,
'APARTMENTS, RYAN COURT': 5,
'HENDRICKSON, WILLIAM': 5,
'SMITH, REGINALD': 5,
'SCOTT, BARRINGTON': 5,
'GROUP LLC, SANDERS': 5,
'BERGER, BERNARD': 5,
'LOWMAN, KENNETH': 5,
'KOREJWO, KENNETH': 5,
'cole, pamela marie': 5,
'CAMPBELL, MALINDA': 5,
'PROPERTIES, T R J': 5,
'BIVINS, ANNIE': 5,
'SMITH, JAMES': 5,
'MARTELLA, FRANK': 5,
'BOWERS, EVELYN': 5,
'SMITH, JESSE': 5,
'MANAGEMENT, ONE': 5,
'APARTMENTS LLC, LANSING': 5,
'ANDERSON, LARNZIA': 5,
'WILKINS, SEAN': 5,
'CORP., STOCKER': 5,
'HAZIME, HUSSEIN': 5,
'GUITON, DOROTHY': 5,
'NEW YORK, BANK OF': 4,
'RICHBOW, RUTH': 4,
'WILLIAMS, KENNETH B.': 4,
'NIXON, STEPHANIE': 4,
'SMITH, WILLIE': 4,
'SELPH JR., WILLIE': 4,
'DERKACZ, JAMES': 4,
'EVERETT, VYLANDRUS': 4,
'CAMAS, VICTOR': 4,
'SMITH, JERRY': 4,
'REARDON, JAMES': 4,
'GRICE, CURTIS E': 4,
'DEVELOPMENT, HOUSING & URBAN': 4,
'WELLS, DORIS': 4,
'ASSOCIATES, DAVENPORT': 4,
'PITTS, KEVIN': 4,
'LAPERRIERE, JOANNE': 4,
'COLLINS, JOE L': 4,
'GROGGINS, ANITA': 4,
'COOK, GEORGE': 4,
'REALITY, INC, SHEARD': 4,
'JAMES, DONALD': 4,
'AYOOLA, MARK': 4,
'BROWN, SALONA': 4,
'SIMMONS, DAVID': 4,
'TORANDO, VICTORIA': 4,
'SEEVERS, ELIZABETH': 4,
'BANNO, SHAMIL MATI': 4,
'ROSS, JAMES': 4,
'SHANKLE, BILLY': 4,
'BROWN, MORRIS': 4,
'smith, joe l': 4,
'MORGAN, YVETTE': 4,
'ANYANONU, ANDREW': 4,
'KELLY, MICHAEL': 4,
'DANIELS, RUSSELL': 4,
'YANG, REGINE C': 4,
'ALEMARI, BAHAA': 4,
'ALASHKAR, SAFAA': 4,
'ESTATE CO., PHOENIX REAL': 4,
'DILLARD, AARON': 4,
'KOURANI, HASSAN': 4,
'BROWN, MARIE': 4,
'PROPERTIES INC., AMERICAN': 4,
'WILCOX, MARY': 4,
'ADAMS-BEAL, LYNORA J': 4,
'SWANN, DONALD': 4,
'BEAL, ROBERT': 4,
'GREGORY, WESLEY M.': 4,
'SANDERS, VIOLA V': 4,
'PROPERTIES, DARTMOUTH': 4,
'NOYES, THOMAS': 4,
'HALL, EULIA': 4,
'WILLIAMS, IRVEN': 4,
'LUCAS, RICHARD': 4,
'WHITLEY, JOHN': 4,
'GRADY III, ISHAM': 4,
'RICE, DANNY': 4,
'HARDAWAY, WILLIE': 4,
'EARLY, DAISY': 4,
'PENDELL, THERESA': 4,
'NELSON, OTIS': 4,
'ARNETT, ROBIN': 4,
'FOX, PETER': 4,
'WEBB, ARTIS': 4,
'SORRELL, MELODY': 4,
'LOPEZ, MARIA': 4,
'THOMAS, JAMES': 4,
'BROWN, GREGORY': 4,
'NEDAB, VINCENT': 4,
'MARTIN, ULYSSES': 4,
'BOLLING, ARTHUR': 4,
'HEAD, EUGENE': 4,
'COLLINS, JIMMY': 4,
'SIMPSON, EUNICE': 4,
'BESTAS, IRENE B.': 4,
'WASHAM, DEREK': 4,
'SIMPSON, VIVIAN': 4,
'HUMPHREY, JAMES': 4,
'ERWIN, REFONDA': 4,
'KENNEDY, RUBY': 4,
'ygiesias, eduardo': 4,
'LLC, JCL': 4,
'SHELBY, STANLEY': 4,
'CURENTON, JAMES': 4,
'RYAN, EDDIE': 4,
'HENSON, JARRAL': 4,
'THOMPSON, CALVIN': 4,
'SMITH, PERCY': 4,
'HOUFF, NICHOLAS': 4,
'THOMAS, JOSEPH': 4,
'YEAGER, JAMES': 4,
'FORBES, CHARLES': 4,
'TAYLOR, JOANN': 4,
'MANAGEMENT, LLC., SELECT PROPERTY': 4,
'WIGGINS, ELDER': 4,
'ASSOCIATES, PRIMCO': 4,
'HUGHES, ALLEN': 4,
'ABUNAB, NAFEH': 4,
'INVESTMENT CO, ELM': 4,
'MOK, GARY': 4,
'INVESTMENTS, RE': 4,
'GUTHERY, HELENA ODOM-': 4,
'PROPERTIES LLC, BRIDGEPORT': 4,
'TERRELL, JAMES': 4,
'KNIGHT, MICHAEL': 4,
'MYERS, BOBBY': 4,
'HUSSEIN, SAYED': 4,
'MANNING, ALVIN': 4,
'GLENN, EVELYN': 4,
'WILLIAMS, OTIS': 4,
'GEORGE, FRED': 4,
'BROWN, MARGARET': 4,
'IRELAND, KEVIN': 4,
'COLE JR., PHILLIP': 4,
'INVESTMENT, SUNRISE': 4,
'PRATHER, ROBERT': 4,
'FUNDING INC., KEY MORTGAGE': 4,
'Amurcon Corp., *': 4,
'SPENCER, WILLIE': 4,
'VELLA, EMANUEL': 4,
'TOWNSEL, RODNEY': 4,
'RAMIREZ, ALEJANDRO': 4,
'HOUSING AGENCY, LIVING TRUTH TEMPLE': 4,
'BRYANT, ADAM': 4,
'MCCALL-FOSTER, MARY': 4,
'GENTRIS, BRUCE': 4,
'MURRAY SR., JAMES': 4,
'FERGUSON, BRANDI': 4,
'CAMPBELL, WILLIAM': 4,
'KNIER, DAVID E': 4,
'REAL ESTATE, ASPEN': 4,
'VENSON, NORMAN': 4,
'MORTGAGE, OPTION ONE': 4,
'DIMONDS LLC, K.D.': 4,
'RENO, REGINALD': 4,
'HENDERSON, LYDELL': 4,
'JAMES, TINA': 4,
'HOME LLC, COZY': 4,
'FLAGG, DOLORES': 4,
'STONE, BOBBY': 4,
'HARRIS, FRANKIE': 4,
'TURNER, CHARLES': 4,
'FOSTER, RONALD': 4,
'INCORP., RACKLIN & GROSS': 4,
'BROWN, GEORGE': 4,
'DEVELOPMENT CO., NC WHORTER': 4,
'CHRISTIAN MUSIC, INTERNATIONAL': 4,
'GRANT, JOHN': 4,
'MAU, GARY': 4,
'KELLY, MIKE': 4,
'PETERSON, JAMES': 4,
'SHELBY, STAN': 4,
'MCCUISH, JAMES': 4,
'CHUNG, REYNOLD': 4,
'SCARBER, PRISCILLA': 4,
'CHANG, DANG': 4,
'COX, EVELYN': 4,
'PLAZA LLC, SCHAEFER': 4,
'SNIPES, SUZANNE': 4,
'VALLEY APTS, ROUGE': 4,
'AKINMUSURU, JOSEPH': 4,
'JOHNSON, HENRY': 4,
'WEST, WILLIAM': 4,
'PARHAM, FRED': 4,
'PHELPS, EDWARD': 4,
'PRYOR, THOMAS': 4,
'COLE JR., PHILIP': 4,
'HARRISON, SHEILA': 4,
'PROPERTIES, IRON STREET': 4,
'., ROBADON': 4,
'BABCOCK, ISSAC': 4,
'WEHMEYER, DOUGLAS J': 4,
'SEMMA, JOHN': 4,
'WILLIAMS, CYNTHIA': 4,
'RENTALS, SETH': 4,
'DIXON, CLETIS': 4,
'DABISH INC., MARK': 4,
'WOODS, TONYA': 4,
'Jones, John': 4,
'PROPERTIES LLC, GRECO': 4,
'JOHNSON, PATRICIA': 4,
'SLOMINSK, DEREK J': 4,
'MATHEWS, HARVEY': 4,
'REALTY, ADAMS': 4,
'HENDERSON, DOUGLAS': 4,
'DAVIS, TERRY': 4,
'MARSH, WILLIAM': 4,
'ATISHA, NAJIB': 4,
'GREEN, LAWRENCE': 4,
'SEPTEMBER PROPERTIES': 4,
'DOLPHIN, MICHAEL': 4,
'NEWMAN, BRENDA': 4,
'PROPERTIES, FISHER': 4,
'CHENET, LUCILLE': 4,
'DATT, DEVIN': 4,
'BURGESS, ROSEMARY': 4,
'DENNIS, CHARLES': 4,
'Ramsey, Eugene': 4,
'LEVON, BRUCE': 4,
'MAYS, GARY': 4,
'OROSZ, THEODORE': 4,
'SMITH, ANDRE': 4,
'HINES, LONNIE': 4,
'TEMPLE, LIVING TRUTH': 4,
'SHAMOON, BEHNAM': 4,
'WOODROW, MYREE': 4,
'LEWIS, WILLIE': 4,
'THOMAS, ANNIE': 4,
'JONES, ROBERT': 4,
'REESE, EMANUEL': 4,
'FRAZIER, TYRONE': 4,
'ASSOC., KAY-LEE': 4,
'LOCKETT, WALTER': 4,
'ALGORO, SHAMS': 4,
'HARRIS, ROBERT': 4,
'TEAMER, DIRK': 4,
'LONGSTREET, CHARLES': 4,
'MUHAMMAD, MICHAEL': 4,
'RIVERS, MANUEL': 4,
'YARBROUGH, BARTEE': 4,
'ROBERTS, GORDON': 4,
'MORRIS, ROBERT': 4,
'CINTRON, FELIX': 4,
'JACKSON, JOHN': 4,
'INC., SUNRISE PROPERTIES': 4,
'RIVERA, JOSE L': 4,
'DELEEUW, MARJORIE': 4,
'FAKHOURY, JACK': 4,
'COUTILISH, ART': 4,
'EDWARDS, DAVID L': 4,
'SIMS, KIMBERLY': 4,
'LIPTON, IRV': 4,
'WILLIAMS, ROBERT': 4,
'KNIGHT, CHARLOTTE': 4,
'NOBLE, LINDA': 4,
'WILLIAMS, BEVERLY': 4,
'MCGRAW, DANNY': 4,
'ISABEL, JOHN': 4,
'WILLIAMS, TYRONE': 4,
'PETERSON, TONI': 4,
'MGT. CO., LOCKWOOD': 4,
'CROOM, JUAN': 4,
'JONES, CALVIN': 4,
'MOORE, DAVID': 4,
'FUNDING, MIDWEST EXPRESS': 4,
'MOSELEY, GLENDA': 4,
'MANAGEMENT, S & J': 4,
'Richardson, John': 4,
'STEWART JR., ROY': 4,
'MIGLIORATI, GARY': 4,
'PROPERTIES, FAIRWAY': 4,
'BENNETT, GEORGE': 4,
'INVESTMENTS, BER CARS': 4,
'LIPSCOMB, REGINALD': 4,
'INSURANCE, LA': 4,
'ATTEE, GERALD': 4,
'SOWA, RICHARD': 4,
'ARCHER, RAYMOND': 4,
'LYSON, MATTHEW W': 4,
'HASKA, WILLIAM': 4,
'DANTZLER, KENNETH': 4,
'KALTENBACH, MARTIN': 4,
'JOHNSON, CHARLES': 4,
'DRUMMOND, JEANNIE': 4,
'NEELY, THOMAS': 4,
'CHARLEY, EUGENE': 4,
'MANAGEMENT CO., SUNSHINE': 4,
'DUBINSKY, STEVE': 4,
'PROPERTIES LLC, CUSIMANO BROTHERS': 4,
'HACHEM, DIAB': 4,
'JORDAN, KENNETH': 4,
'WILLIAMS, ROBERT D': 4,
'SOISIOGU, IKE': 4,
'system, nissi': 4,
'BYRON, MIRLEAN': 4,
'EVANS, ELLIOTT': 4,
'OWENS, PEARL': 4,
'BAINS, BALJIT': 4,
'Treanor, John': 4,
'HEARD, JOHN': 4,
'CHANCELLOR, JOHN': 4,
'BRYANT, KEVIN': 4,
'Fennoy, Gwen': 4,
'STEPANENKO, WALTER': 4,
'KUYKENDALL, DOUGLAS': 4,
'ALLEN, MELVIN': 4,
'INVESTORS, T & T': 4,
'SINE, EARL': 4,
'DAVIS, ROSALIND': 4,
'CAINES, DENNIS': 4,
'INC., BRALEN': 4,
'WILLIAMS, DAISY': 4,
'ABRAHAM, NUNU': 4,
'RESCUE MISSION, DETROIT': 4,
'DEMARTIN, DEAN': 4,
'HARDEN, BARBARA': 4,
'CODY, KENNETH': 4,
'QUATES, CLAYTON': 4,
'TERRY, JAMES': 4,
'WRIGHT, HELEN': 4,
'PEOPLES, MICHAEL': 4,
'WILLIAMS, CORNELIUS': 4,
'TAYLOR III, URIAH': 4,
'schredder, charles': 4,
'LEONARD, JACK A.': 4,
'LEVON, BRUCE M': 4,
'MASSEY, ROBERT': 4,
'RUPERT, HENRY L.': 4,
'pugh, darius': 4,
'YORK, BANK OF NEW': 4,
'SELLERS, JOE': 4,
'FOSTER, ROY': 4,
'HIGH, ANTONE': 4,
'BAKER, DONNA': 4,
'Savaya, Simon': 4,
'MORTGAGE CORP., FEDERAL HOME LOAN': 4,
'ROBERTS, JAMES': 4,
'KENDRICK, JULIUS': 4,
'COFFEY, RESHON': 4,
'JACKSON, CAROLYN': 4,
'JENKINS, FLOREEN': 4,
'LOGAN, BARBIE': 4,
'SENTINNELL, SHANNELL': 4,
'Yazbeck, Ghassan': 4,
'WALKER, DENNIS': 4,
'T. Dabish & Associates, *': 4,
'BRINCAT, BRYAN': 4,
'PROPERTIES, HERMETIAN': 4,
'HUMPHREY, KENNETH': 4,
'GODBOLD, BUELAH': 4,
'MITCHELL, TERRENCE': 4,
'LEVY, IRA': 4,
'linse, james': 4,
'REAL ESTATE, PHOENIX': 4,
'RIZKULLAH, BASIM': 4,
'MARSHALL, SHERILYNN': 4,
'SMITH, JESSIE': 4,
'ENTERPRISES INC, ALEXIS': 4,
'HILL, DAVID': 4,
'JACKSON, SANDELL': 4,
'BURNETT, DARLISA': 4,
'THOMAS, CYNTHIA': 4,
'HUNTER, TODD': 4,
'WILLIAMS, LANAYE': 4,
'MAGEE, GEORGE': 4,
'JENKINS, JERRY': 4,
'BOYD, TOYIA': 4,
'HALL, PERCY': 4,
'STONE, DAVID': 4,
'PINCHEM, MICHAEL': 4,
'SULLIVAN, GWENDOLYN': 4,
'JOHNSON, CYRIL': 4,
'DUPIN, THEOPLIS': 4,
'THOMAS, SEAN': 4,
'HUNTER, KIM': 4,
'KAY BEE KAY PROPERTIES, .': 4,
'BENEDICT, CONNIE': 4,
'adams, raymond william': 4,
'SMITH, RALPH': 4,
'THOMAS, DARRYL': 4,
'JOHNSON, SHARON': 4,
'BLACKWELL, GLORIA': 4,
'ASSOCIATES, MARLEN': 4,
'BUFFINGTON, ODIS': 4,
'PARKS, CONSTANCE': 4,
'Ball, Gary': 4,
'AUGURSON, J & B': 4,
'CONSULTING, GRIFF': 4,
'BROWDER, VAUGHAN': 4,
'JOHNSON, MARC': 4,
'JONES, WILLIAM': 4,
'GROUP, INC., ABN AMRO MORTGAGE': 4,
'PROPERTIES INC., TREBUR': 4,
'CORP., AMURCON': 4,
'PATTERSON, GUY': 4,
'REGISTER, DERRICK': 4,
'RICKS, QUINCY': 4,
'WALKER, AIMEE': 4,
'GARCIA, CATALINA': 4,
'LEE, GERALD': 4,
'BAZZI, HASSA': 4,
'GATES, GEORGETTE': 4,
'APARTMENTS LLC, GARDEN COURT': 4,
'ROBINSON, DOROTHY': 4,
'FETTERS, HOPE': 4,
'GOODMAN, ANNIE': 4,
'PICKETT, OLA M.': 4,
'SWANIGAN, EDDIE': 4,
'DINOFF, DAN': 4,
'MADDOX, ROBERT': 4,
'GREEN, GWENDOLYN': 4,
'THOMAS, CHERYL': 4,
'ZAGHIR, NADA': 4,
'PATTAH, CALVIN': 4,
'CORBELL, STANLEY': 4,
'MARSHALL, BOBBIE F': 4,
'JUDNICH, ROBERT': 4,
'BRICK CO., HISTORIC': 4,
'Salem, Ahmed': 4,
'COPELAND, RONALD': 4,
'REAL ESTATE CO., PHOENIX': 4,
'PAYMON, MARY': 4,
'BOWLSON, JAMARE': 4,
'DETROIT LLC, RAC': 4,
'OF AMERICA, MORTGAGE CORP': 4,
'PULLIAM, MARY': 4,
'MANAGEMENT INC., BLEVINS PROPERTY': 4,
'HUFFMAN, PATRICIA': 4,
'DAVIS, VERONICA': 4,
'CUREATHERS, CLAUDINE': 4,
'ONWURZURIKE, PHID': 4,
'WHITED, DANNY': 4,
'HICKS, GREGORY': 4,
'MURRAY, MELVIN': 4,
'WIDEMAN, DENNIS': 4,
'CORPORATION, CHASE MANHATTAN MORTGAGE': 4,
'RIGGINS, RUTH': 4,
...}
Counts of most common fine types¶
#Getting the different values and descriptions
numberOfTimes = df_fines['violation_description'].value_counts()
number = pd.DataFrame({'description':numberOfTimes.index,'times':numberOfTimes.values}).head(n=15) #e just want the first 15 because are the most relevant
plt.scatter(number['description'],number['times'])
plt.xticks(number['description'], rotation=-90)
for i, row in number.iterrows():
plt.text(row['description'], row['times']+600, s= str(row['times']))
plt.show()
Which streets have most of the fines?¶
df_fine_counter_by_street=df_fines['violation_street_name'].value_counts().to_dict()
df_fine_counter_by_street
##len(df_fine_counter_by_street)
{'SEVEN MILE': 845,
'MCNICHOLS': 682,
'LIVERNOIS': 447,
'EVERGREEN': 380,
'FENKELL': 303,
'JOY RD': 299,
'WARREN': 290,
'EIGHT MILE': 264,
'PURITAN': 254,
'GRAND RIVER': 251,
'SCHAEFER': 244,
'PLYMOUTH': 230,
'GRAND BLVD': 227,
'WYOMING': 222,
'GRATIOT': 219,
'CHICAGO': 216,
'STOUT': 214,
'FORRER': 212,
'SUSSEX': 204,
'PLAINVIEW': 203,
'STOEPEL': 201,
'WINTHROP': 198,
'VAN DYKE': 191,
'OUTER DRIVE': 186,
'PATTON': 184,
'STAHELIN': 182,
'MANSFIELD': 181,
'MEYERS RD': 180,
'WOODWARD AVE': 179,
'FIELDING': 179,
'FAUST': 179,
'HARPER': 177,
'SANTA ROSA': 174,
'VAUGHAN': 173,
'HEYDEN': 171,
'CLEMENTS': 169,
'ST MARYS': 169,
'MARK TWAIN': 168,
'AUBURN': 166,
'ASHTON': 165,
'DAVISON': 163,
'GREENFIELD': 162,
'NORTHLAWN': 158,
'WARD': 156,
'GRANDVILLE': 156,
'MINOCK': 155,
'RUTHERFORD': 150,
'SCHOOLCRAFT': 149,
'APPOLINE': 143,
'TIREMAN': 142,
'MENDOTA': 140,
'MANOR': 139,
'PIERSON': 139,
'ASBURY PARK': 138,
'INDIANA': 136,
'JEFFERSON': 136,
'HAZELWOOD': 136,
'ARCHDALE': 135,
'GREENVIEW': 134,
'METTETAL': 133,
'CHERRYLAWN': 130,
'HARTWELL': 129,
'PINEHURST': 129,
'JAMES COUZENS': 129,
'BURT RD': 127,
'CHALMERS': 125,
'ROSEMONT': 125,
'EUCLID': 122,
'SORRENTO': 122,
'PRAIRIE': 122,
'LAHSER': 121,
'WHITCOMB': 120,
'KENTUCKY': 120,
'ROBSON': 118,
'BIRWOOD': 117,
'CHEYENNE': 117,
'CONANT': 116,
'LAUDER': 116,
'WISCONSIN': 116,
'MACK': 116,
'DEXTER': 114,
'WILFRED': 113,
'MEMORIAL': 113,
'FERGUSON': 112,
'OHIO': 112,
'ROSELAWN': 112,
'TRINITY': 111,
'KENTFIELD': 111,
'CORTLAND': 110,
'MONICA': 109,
'MONTROSE': 109,
'FULLERTON': 108,
'GREENLAWN': 108,
'HUBBELL': 108,
'ARTESIAN': 108,
'WOODMONT': 108,
'CLAIRMOUNT': 107,
'LITTLEFIELD': 107,
'CHENE': 106,
'COYLE': 105,
'GRAND': 105,
'CENTRAL': 105,
'BEACONSFIELD': 104,
'FLANDERS': 103,
'TYLER': 100,
'WESTWOOD': 100,
'VIRGINIA PARK': 99,
'NOTTINGHAM': 99,
'VERNOR': 96,
'FORT ST': 96,
'FREELAND': 95,
'HELEN': 94,
'LINWOOD': 93,
'WESTBROOK': 93,
'STEEL': 92,
'MT ELLIOTT': 92,
'ABINGTON AVE': 91,
'SCHOENHERR': 91,
'LAKEWOOD': 90,
'MARLOWE': 89,
'BRAILE': 89,
'GLENFIELD': 89,
'TUXEDO': 89,
'RUNYON': 87,
'BENTLER': 87,
'MOROSS': 86,
'NEWPORT': 86,
'PREVOST': 86,
'ST LOUIS': 86,
'STRATHMOOR': 85,
'TULLER': 85,
'PENROD': 84,
'LYNDON': 83,
'BRACE': 83,
'FENMORE': 83,
'BUENA VISTA': 83,
'WHITTIER': 82,
'BILTMORE': 82,
'ILENE': 82,
'MICHIGAN AVE': 81,
'ASHLAND': 81,
'RUTLAND': 80,
'ELMHURST': 80,
'PIEDMONT': 78,
'WESTPHALIA': 78,
'TACOMA': 78,
'ALTER': 76,
'HICKORY': 76,
'STATE FAIR': 76,
'LENOX': 74,
'ORLEANS': 74,
'JOHN R': 73,
'STANSBURY': 73,
'TERRY': 72,
'SOUTHFIELD': 71,
'HULL': 71,
'MOENART': 70,
'HARDING': 70,
'LONGACRE': 69,
'CANTON': 68,
'WILDEMERE': 68,
'GRANDMONT': 68,
'SYRACUSE': 68,
'HOUSTON-WHITTIER': 68,
'CALVERT': 68,
'MARX': 68,
'AMERICAN': 67,
'PHILADELPHIA': 67,
'ARDMORE': 67,
'PASADENA': 66,
'CLOVERLAWN': 65,
'14TH ST': 65,
'BLOOM': 64,
'EASTLAWN': 64,
'MORANG': 64,
'WEBB': 64,
'CHELSEA': 62,
'GILCHRIST': 62,
'MCDOUGALL': 62,
'ANGLIN': 62,
'WARWICK': 62,
'ALCOY': 60,
'CEDARGROVE': 60,
'CRANE': 59,
'GLASTONBURY': 59,
'ROCKDALE': 59,
'FAIRPORT': 59,
'LINDSAY': 59,
'MAIDEN': 58,
'WAYBURN': 58,
'KELLY RD': 58,
'GLYNN CT': 57,
'IRVINGTON': 57,
'PREST': 57,
'MANNING': 57,
'BELVIDERE': 57,
'COLUMBUS': 56,
'BRENTWOOD': 56,
'BUCKINGHAM': 56,
'KILBOURNE': 56,
'CADILLAC SQUARE': 55,
'ST ANTOINE': 55,
'CHALFONTE': 55,
'PELKEY': 55,
'HOLCOMB': 54,
'LAKEPOINTE': 54,
'RICHTON': 54,
'GUILFORD': 54,
'LAKEVIEW': 54,
'ALBION': 54,
'WEST PARKWAY': 54,
'LESLIE': 54,
'BUFFALO': 54,
'WASHBURN': 52,
'DRESDEN': 52,
'MADDELEIN': 52,
'EVANSTON': 51,
'MURRAY HILL': 51,
'DOLPHIN': 51,
'BURLINGAME': 51,
'BALFOUR': 51,
'BEWICK': 50,
'RUSSELL': 50,
'WHITHORN': 50,
'LAWNDALE': 50,
'GABLE': 50,
'BARLOW': 50,
'GALLAGHER': 50,
'PEMBROKE': 50,
'GLADSTONE': 50,
'MITCHELL': 49,
'WAVERLY': 49,
'SEWARD': 49,
'TURNER': 49,
'KERCHEVAL': 49,
'MAPLERIDGE': 49,
'VINEWOOD': 49,
'MONTCLAIR': 48,
'MONTE VISTA': 48,
'MILITARY': 48,
'DREXEL': 48,
'FISCHER': 48,
'LONGVIEW': 48,
'ALBANY ST': 47,
'COPLIN': 47,
'SPRINGWELLS': 47,
'OMIRA': 47,
'CHAPEL': 47,
'SECOND': 47,
'KENDALL': 47,
'FINDLAY': 47,
'FIELD': 47,
'OAKFIELD': 47,
'GOULBURN': 47,
'MACKAY': 46,
'GRIGGS': 46,
'GLENDALE': 46,
'WALTHAM': 46,
'MARTINDALE': 45,
'TEPPERT': 45,
'LINNHURST': 45,
'TROESTER': 45,
'TRACEY': 45,
'PINGREE': 45,
'EASTWOOD': 45,
'HOLLYWOOD': 45,
'LA SALLE BLVD': 44,
'LOTHROP': 44,
'QUINCY': 44,
'TAYLOR': 44,
'JOANN': 44,
'ALMA': 44,
'ELMIRA': 44,
'FORDHAM': 44,
'HOOVER': 44,
'CARLIN': 43,
'CARTER': 43,
'GODDARD': 43,
'MONTEREY': 43,
'PARK GROVE': 43,
'BRYDEN': 43,
'LAFAYETTE': 43,
'DICKERSON': 42,
'ATKINSON': 42,
'FENELON': 42,
'HAVERHILL': 42,
'SEYMOUR': 41,
'MANISTIQUE': 41,
'MARLBOROUGH': 41,
'LEMAY': 41,
'ELLSWORTH': 41,
'NOVARA': 41,
'LESURE': 41,
'HASSE': 41,
'CHRYSLER': 41,
'BELMONT': 41,
'HARLOW': 41,
'WOODHALL': 41,
'IROQUOIS': 41,
'FLEMING': 41,
'SNOWDEN': 41,
'GREYDALE': 41,
'HAMBURG': 41,
'CANFIELD': 40,
'PROMENADE': 40,
'BLAINE': 40,
'CORBETT': 40,
'TOWNSEND': 40,
'FENTON': 40,
'SARATOGA': 40,
'ST AUBIN': 39,
'THIRD': 39,
'DECATUR': 39,
'DEAN': 39,
'YOUNG': 39,
'LONYO': 39,
'PILGRIM': 39,
'STRASBURG': 38,
'BEAVERLAND': 38,
'CAMPBELL': 38,
'ELMDALE': 38,
'HAYES': 38,
'JUNCTION': 38,
'LOUISIANA': 38,
'LUMPKIN': 38,
'ANNOTT': 37,
'LAWTON': 37,
'FAIRFIELD': 37,
'ALLENDALE': 37,
'DEVONSHIRE': 37,
'STURTEVANT': 37,
'RIOPELLE': 37,
'BAYSIDE': 37,
'KEYSTONE': 37,
'LAMPHERE': 36,
'LAWRENCE': 36,
'CALDWELL': 36,
'COMMONWEALTH': 36,
'FRANKFORT': 36,
'CADIEUX': 36,
'BEATRICE': 36,
'NEVADA': 35,
'CAMDEN': 35,
'GREINER': 35,
'ETHEL': 35,
'CHATSWORTH': 35,
'IVANHOE': 35,
'SAVANNAH': 35,
'MARTIN': 35,
'FAIRCREST': 35,
'MUIRLAND': 35,
'VICKSBURG': 34,
'SEEBALDT': 34,
'CONNER': 34,
'TARNOW': 34,
'LAMONT': 34,
'BRADFORD': 34,
'CASPER': 33,
'FERRY': 33,
'KLINGER': 33,
'WOODBINE': 33,
'JANE': 33,
'LIBERAL': 33,
'TRUMBULL': 33,
'COURVILLE': 33,
'GREELEY': 33,
'JUSTINE': 32,
'RADEMACHER': 32,
'PICKFORD': 32,
'BURGESS': 32,
'KENSINGTON': 32,
'PACKARD': 32,
'BURNS': 32,
'ROCHELLE': 32,
'JOSEPH CAMPAU': 32,
'ALEXANDRINE': 32,
'BEDFORD': 32,
'HIGHLAND': 31,
'CASS': 31,
'HAWTHORNE': 31,
'WASHINGTON BLVD': 31,
'WINSTON': 31,
'FOREST': 31,
'SHIELDS': 31,
'SALEM': 31,
'ROSA PARKS BLVD': 31,
'MORAN': 31,
'BLACKSTONE': 31,
'CRUSE': 30,
'EDSEL': 30,
'OAKMAN BLVD': 30,
'CHATHAM': 30,
'STOTTER': 30,
'CASCADE': 30,
'VOTROBECK DR': 30,
'WADE': 30,
'ANDOVER': 29,
'ALGONQUIN': 29,
'DWYER': 29,
'ARLINGTON': 29,
'BELAND': 29,
'TOLEDO': 29,
'ROSSINI DRIVE': 29,
'GARLAND': 29,
'DACOSTA': 29,
'CARSON': 29,
'WOODMERE': 28,
'COLLINGWOOD': 28,
'CLARENDON': 28,
'GRANDY': 28,
'HURLBUT': 28,
'TELEGRAPH': 28,
'BRAMELL': 28,
'FARMBROOK': 28,
'ROWE': 28,
'ROBINWOOD': 28,
'GREEN': 28,
'MARGARET': 28,
'BAYLIS': 28,
'BALDWIN': 27,
'PENNSYLVANIA': 27,
'SEYBURN': 27,
'CHAREST': 27,
'LAPPIN': 27,
'BROADSTREET': 27,
'OAKLAND': 27,
'GRIXDALE': 27,
'BINDER': 27,
'NAVY': 27,
'MT VERNON': 26,
'LARKINS': 26,
'EWALD CIRCLE': 26,
'EDISON': 26,
'OREGON': 26,
'CAMERON': 26,
'SANFORD': 26,
'BROADWAY': 26,
'SAN JUAN': 26,
'LARNED': 26,
'REVERE': 26,
'SCOTTEN': 26,
'BEECHWOOD': 26,
'FAIRVIEW': 26,
'YOSEMITE': 25,
'PETOSKEY': 25,
'THADDEUS': 25,
'24TH ST': 25,
'MAYFIELD': 25,
'QUINN': 25,
'FRENCH RD': 25,
'RIVARD': 25,
'PALMER': 25,
'SEMINOLE': 25,
'WYKES': 25,
'30TH ST': 25,
'RADNOR': 25,
'CARRIE': 25,
'28TH ST': 25,
'MCCLELLAN': 24,
'CONLEY': 24,
'GRISWOLD': 24,
'FREDERICK': 24,
'GLENWOOD': 24,
'NEFF': 24,
'BURNSIDE': 24,
'WABASH': 24,
'WHITNEY': 24,
'BAGLEY': 24,
'ROSEDALE CT': 24,
'15TH ST': 23,
'25TH ST': 23,
'SHERWOOD': 23,
'HAZLETT': 23,
'PHILIP': 23,
'CABOT': 23,
'CONCORD': 23,
'RACINE': 23,
'SPRING GARDEN': 23,
'CICOTTE': 23,
'HARVARD RD': 23,
'MCGRAW': 23,
'GREENDALE': 23,
'BRINGARD DR': 23,
'LUMLEY': 23,
'RATHBONE': 22,
'CARLISLE': 22,
'23RD ST': 22,
'LIDDESDALE': 22,
'HANNA': 22,
'KNODELL': 22,
'VANCOUVER': 22,
'LENORE': 22,
'EASTBURN': 22,
'DESOTO': 22,
'HOGARTH': 22,
'PARKER': 22,
'MAXWELL': 22,
'MOUND': 22,
'YELLOWSTONE': 22,
'ROSEMARY': 22,
'HEREFORD': 22,
'BENITEAU': 21,
'BOSTON BLVD': 21,
'KENILWORTH': 21,
'DERBY': 21,
'BRUSH': 21,
'WOODROW': 21,
'PRINCETON': 21,
'SOMERSET': 21,
'LANE': 21,
'CAHALAN': 20,
'YACAMA': 20,
'CAVALRY': 20,
'KEATING': 20,
'COVENTRY': 20,
'HAMPSHIRE': 20,
'CORAM': 20,
'DEACON': 20,
'CHENLOT': 20,
'ROHNS': 20,
'LANNETTE': 20,
'CASGRAIN': 20,
'CHOPIN': 20,
'LILAC': 20,
'CROCUSLAWN': 20,
'BUHR': 20,
'WILSHIRE': 20,
'WOODROW WILSON': 20,
'BEAUBIEN': 20,
'MAPLEWOOD': 19,
'SANTA BARBARA': 19,
'MAINE': 19,
'ALGONAC': 19,
'LOG CABIN': 19,
'WORMER': 19,
'SHERIDAN': 19,
'WILLIS': 19,
'WHITMORE RD': 19,
'LAMOTHE': 19,
'GILBERT': 19,
'DORIS': 19,
'MONTANA': 19,
'EXETER': 19,
'BLUEHILL': 19,
'HEALY': 18,
'RYAN': 18,
'BURNETTE': 18,
'WILLETTE': 18,
'HANCOCK': 18,
'CARDONI': 18,
'ROCHESTER': 18,
'16TH ST': 18,
'17TH ST': 18,
'MCKINNEY': 18,
'WARRINGTON': 18,
'ALGER': 18,
'FLORIDA': 18,
'CLIFF': 18,
'PARK': 18,
'ST CLAIR': 18,
'GRAYTON': 18,
'TRENTON': 18,
'HOLMUR': 18,
'EPWORTH': 18,
'FARNSWORTH': 17,
'DANBURY': 17,
'LEE PL': 17,
'HAGUE': 17,
'SENATOR': 17,
'RIVERVIEW': 17,
'LILLIBRIDGE': 17,
'ELECTRIC': 17,
'SPENCER': 17,
'LA SALLE GARDENS': 17,
'AUGUST': 17,
'MORRELL': 17,
'WOODINGHAM': 17,
'CECIL': 17,
'GRAYFIELD': 17,
'DIX': 16,
'ROXBURY': 16,
'LIEBOLD': 16,
'VAN COURT': 16,
'DUMFRIES': 16,
'COOPER': 16,
'OTSEGO': 16,
'BLACKMOOR': 16,
'GARTNER': 16,
'TRAVERSE': 16,
'INVERNESS': 16,
'INGLIS': 16,
'LANSING': 16,
'ANNABELLE': 16,
'PACIFIC': 16,
'KENNEBEC': 16,
'EDMORE DR': 16,
'AVON': 16,
'INFANTRY': 16,
'MEDBURY': 16,
'WATERMAN': 16,
'COLLEGE': 16,
'ELMER': 16,
'OLDTOWN': 16,
'PINEWOOD': 16,
'HOUGHTON': 16,
'FERDINAND': 16,
'BEGOLE': 16,
'MINNESOTA': 15,
'MELVILLE': 15,
'BRADEN': 15,
'ELIZABETH': 15,
'APPLETON': 15,
'FAIRMOUNT DR': 15,
'LONGWORTH': 15,
'YORKSHIRE': 15,
'DRAGOON': 15,
'RIDGEWOOD': 15,
'HAZELRIDGE': 15,
'GRAY': 15,
'35TH ST': 15,
'HOMER': 15,
'SUNSET': 15,
'DUBOIS': 15,
'COOLEY': 15,
'PEARL': 15,
'FERRIS': 15,
'FERRY PARK': 15,
'REGENT DR': 14,
'THREE MILE DR': 14,
'MAPLELAWN': 14,
'31ST ST': 14,
'MARSTON': 14,
'LODEWYCK': 14,
'WHITFIELD': 14,
'CHARLEVOIX': 14,
'CURTIS': 14,
'HILLSBORO': 14,
'SHARON': 14,
'WEXFORD': 14,
'VIRGIL': 14,
'GENESSEE': 14,
'ROSSITER': 14,
'MARYLAND': 14,
'LONGFELLOW': 14,
'UNIVERSITY PL': 14,
'WOODLAND': 14,
'MAJESTIC': 14,
'PARKSIDE': 14,
'SARENA': 14,
'DANIELS': 14,
'KIRBY': 14,
'WHITTAKER': 14,
'THATCHER': 14,
'CAPITOL': 14,
'HARRELL': 14,
'POE': 13,
'SANTA CLARA': 13,
'HOLMES': 13,
'ANDERDON': 13,
'WESTMINSTER': 13,
'COVINGTON': 13,
'CRAWFORD': 13,
'LELAND': 13,
'CHANDLER PARK DR': 13,
'SUNDERLAND RD': 13,
'BUCHANAN': 13,
'NARDIN': 13,
'CHARLEMAGNE': 13,
'FITZPATRICK': 13,
'OAKWOOD': 13,
'WESSON': 13,
'LINSDALE': 13,
'COLFAX': 13,
'NORMANDY': 13,
'WHITEWOOD': 13,
'PARKWOOD': 13,
'CLARKDALE': 13,
'M L KING BLVD': 13,
'CLAYBURN': 13,
'MINDEN': 13,
'SENECA': 13,
'CHARLESTON': 12,
'FLOYD': 12,
'JOHN C LODGE': 12,
'OLIVET': 12,
'TENNESSEE': 12,
'FILBERT': 12,
'BELLEVUE': 12,
'CLIPPERT': 12,
'MAGNOLIA': 12,
'KENMOOR': 12,
'FILER': 12,
'MARSEILLES': 12,
'ADAMS AVE': 12,
'GUNSTON': 12,
'MELDRUM': 12,
'PROCTOR': 12,
'HUNTINGTON': 12,
'BASSETT': 12,
'MILWAUKEE': 12,
'WESTERN': 12,
'MONTGOMERY': 12,
'LOVETT': 12,
'ENGLEWOOD': 11,
'LABELLE': 11,
'LORETTO': 11,
'NASHVILLE': 11,
'ASHLEY': 11,
'OGDEN': 11,
'CEDARLAWN': 11,
'SPOKANE': 11,
'FOLEY': 11,
'SCOVEL PL': 11,
'SAWYER': 11,
'JULIAN': 11,
'SMART': 11,
'THEODORE': 11,
'WHITEHILL': 11,
'OAKDALE': 11,
'LARCHMONT': 11,
'BARBARA': 11,
'HILDALE': 11,
'AUDUBON': 11,
'NUERNBERG': 11,
'LAING': 11,
'FRONTENAC': 11,
'WITHERELL': 11,
'EDSEL FORD': 11,
'COPLAND': 11,
'HAROLD': 11,
'BARLUM': 11,
'UNDERWOOD': 11,
'CLARK ST': 11,
'KING': 11,
'HALLECK': 10,
'MARCUS': 10,
'EVANS': 10,
'ADELINE ST': 10,
'DEQUINDRE': 10,
'DUNDEE': 10,
'MCKINLEY': 10,
'MERRICK': 10,
'LORAINE': 10,
'MCQUADE': 10,
'FORTUNE': 10,
'WHEELER': 10,
'COLUMBIA': 10,
'RADCLIFFE': 10,
'COLLINGHAM': 10,
'ALDEN': 10,
'PETERBORO': 10,
'CONGRESS': 10,
'GEORGIA': 10,
'RIAD': 10,
'HOUSE': 10,
'DALE': 10,
'MCLEAN': 10,
'ELSMERE': 10,
'MAPLEVIEW': 10,
'MASON PL': 10,
'LUTHER': 10,
'HOYT': 10,
'SANTA MARIA': 10,
'ALLONBY': 10,
'BELLETERRE': 10,
'ROGERS': 10,
'MOLENA': 10,
'CHRISTY': 10,
'LANCASHIRE': 10,
'CLIFTON': 10,
'WENDELL': 10,
'JOSEPHINE': 9,
'MCCORMICK': 9,
'ELMWOOD': 9,
'CHURCHILL': 9,
'EWERS': 9,
'MISSOURI': 9,
'BERKSHIRE': 9,
'ORANGELAWN': 9,
'CHESTER': 9,
'PETER HUNT': 9,
'GRINNELL': 9,
'PORTER': 9,
'WARING': 9,
'STAIR': 9,
'ROOSEVELT': 9,
'CADET': 9,
'WEST POINT': 9,
'BARRETT': 9,
'PENNINGTON': 9,
'CHARLES': 9,
'NORTHWESTERN': 9,
'WHEELOCK': 9,
'VIOLETLAWN': 9,
'GRANDVIEW': 9,
'SHREWSBURY': 9,
'LEIDICH': 9,
'KANE': 9,
'18TH ST': 9,
'HUBBARD': 9,
'MANDERSON': 9,
'WETHERBY': 9,
'LEICESTER CT': 9,
'IOWA': 9,
'HUBER': 9,
'DIVISION': 8,
'EDWARD': 8,
'LANIER': 8,
'WALDO': 8,
'SPRINGLE': 8,
'MARION': 8,
'HARNED': 8,
'LANSDOWNE': 8,
'EDINBOROUGH': 8,
'IDAHO': 8,
'NAUMANN': 8,
'29TH': 8,
'STOCKWELL': 8,
'CHRISTIANCY': 8,
'HAMILTON': 8,
'HUMPHREY': 8,
'HARMON': 8,
'KIMBERLY CT': 8,
'GREENSBORO': 8,
'VERMONT': 8,
'52ND ST': 8,
'BEALS': 8,
'NORTHFIELD': 8,
'DAWES': 8,
'FORD': 8,
'PUTNAM': 8,
'LINCOLN': 8,
'MOFFAT': 8,
'GATESHEAD': 8,
'MCPHERSON': 8,
'HAZELTON': 8,
'FLORENCE': 8,
'CHAMBERLAIN': 8,
'KITCHENER': 8,
'GREUSEL': 8,
'BRIMSON': 8,
'MCKINSTRY': 8,
'ROGGE': 8,
'DARTMOUTH': 8,
'WESTMORELAND': 8,
'PAYTON': 8,
'GARFIELD': 7,
'JOHN KRONK': 7,
'PFENT': 7,
'ALFRED': 7,
'WAGER': 7,
'EUREKA': 7,
'MELBOURNE': 7,
'ALMONT': 7,
'LONGWOOD': 7,
'MAY': 7,
'NORWALK': 7,
'GOODWIN': 7,
'HENDRIE': 7,
'BARHAM': 7,
'RIVERDALE DR': 7,
'HARRISON': 7,
'ERSKINE': 7,
'BENTON': 7,
'MARGARETA': 7,
'OAK DR': 7,
'BORDEAU': 7,
'GREYFRIARS': 7,
'BANGOR': 7,
'DELAWARE': 7,
'DOROTHY': 7,
'ST PATRICK': 7,
'ANNCHESTER': 7,
'EASTERN PL': 7,
'PORTLANCE': 7,
'DAYTON': 7,
'CATHEDRAL': 7,
'ENGLESIDE': 7,
'FRISBEE': 7,
'GLADYS': 7,
'MANILA': 7,
'HARTFORD': 7,
'PRESTON': 7,
'WAVENEY': 7,
'LAWLEY': 7,
'SPARLING': 7,
'ARDEN PARK': 7,
'GREENWAY': 6,
'WREFORD': 6,
'CARBONDALE': 6,
'BRINKER': 6,
'CALUMET': 6,
'ST HEDWIG': 6,
'CASTLETON': 6,
'MALCOLM': 6,
'TERRELL': 6,
'RENO': 6,
'IRON': 6,
'VISGER': 6,
'ADELAIDE ST': 6,
'PATRICIA': 6,
'COLONIAL': 6,
'JAMESON': 6,
'KARL': 6,
'CHANDLER': 6,
'TEMPLE': 6,
'FIVE POINTS': 6,
'SUNNYSIDE': 6,
'CLAYTON': 6,
'WHITEHEAD': 6,
'NEWBERN': 6,
'HANOVER': 6,
'BRITAIN': 6,
'ANVIL': 6,
'MOTOR DRIVE': 6,
'GLENCO': 6,
'HONORAH': 6,
'OMAHA': 6,
'DUPREY': 6,
'SHOEMAKER': 6,
'FOURTH': 6,
'HARBAUGH': 6,
'SPARTA': 6,
'VAN BUREN': 6,
'WOODLAWN': 6,
'PELOUZE': 6,
'KELLER': 6,
'SHIAWASSEE': 6,
'HAMMOND': 6,
'RICHARD': 6,
'PARKHURST': 6,
'CLARION': 6,
'WEAVER': 6,
'MORLEY': 6,
'STOCKTON': 6,
'ST JOHN': 6,
'ST LAWRENCE': 6,
'MCDONALD': 6,
'RAVENSWOOD': 6,
'51ST ST': 6,
'MERTON': 6,
'AURORA': 6,
'DALRYMPLE': 6,
'DAILEY CT': 5,
'AVERY': 5,
'SOLVAY': 5,
'GOLDNER': 5,
'HIBBARD': 5,
'ALAMEDA ST': 5,
'MARNE': 5,
'BEAUFAIT': 5,
'NORCROSS': 5,
'NAVAHOE': 5,
'BESSEMORE': 5,
'PEERLESS': 5,
'ELIOT': 5,
'MEADE': 5,
'MONROE': 5,
'DEARBORN': 5,
'BELDEN': 5,
'GRUEBNER': 5,
'SHAFTSBURY': 5,
'BLAKE': 5,
'JEROME': 5,
'BRAINARD': 5,
'MILTON': 5,
'SAVERY': 5,
'EVERTS': 5,
'GOLDEN GATE': 5,
'SIRE': 5,
'BALTIMORE': 5,
'GROVE': 5,
'PRINCE HALL DR': 5,
'EDGETON': 5,
'EDGEWOOD': 5,
'MELLON': 5,
'SUPERIOR': 5,
'KEELSON DR': 5,
'DUANE': 5,
'LOGAN': 5,
'KIPLING': 5,
'FREDA': 5,
'BADGER': 5,
'PALMETTO': 5,
'HILL': 5,
'PRENTIS': 5,
'GITRE': 5,
'EAGLE': 5,
'VASSAR': 5,
'NORTHROP': 5,
'CINCINNATI': 5,
'DIVERSEY': 5,
'FRANKLIN': 5,
'CHURCH': 5,
'WESTFIELD': 5,
'32ND ST': 5,
'HILLCREST': 5,
'STANTON': 5,
'POST': 5,
'WINDER': 5,
...}
Where were the tickets issued?¶
# import matplotlib.pyplot as plt
# plt.scatter(x=df_latlons['lon'], y=df_latlons['lat'])
# plt.show()
import plotly.express as px
import pandas as pd
df_latlons.dropna(
axis=0,
how='any',
# thresh=None,
subset=None,
inplace=True
)
color_scale = [(0, 'orange'), (1,'red')]
fig = px.scatter_mapbox(df_latlons,
lat="lat",
lon="lon",
# hover_name="Address",
#hover_data=["Address", "Listed"],
#color="Listed",
# color_continuous_scale=color_scale,
#size="Listed",
zoom=8,
height=800,
width=800)
fig.update_layout(mapbox_style="open-street-map")
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()
#df_fines[['ticket_id', 'disposition', 'compliance', 'compliance_detail', 'collection_status', 'payment_status']]
df_joint.columns
Index(['ticket_id', 'agency_name', 'inspector_name', 'violator_name',
'violation_street_number', 'violation_street_name',
'violation_zip_code', 'mailing_address_str_number',
'mailing_address_str_name', 'city', 'state', 'zip_code',
'non_us_str_code', 'country', 'ticket_issued_date', 'hearing_date',
'violation_code', 'violation_description', 'disposition', 'fine_amount',
'admin_fee', 'state_fee', 'late_fee', 'discount_amount',
'clean_up_cost', 'judgment_amount', 'payment_amount', 'balance_due',
'payment_date', 'payment_status', 'collection_status',
'grafitti_status', 'compliance_detail', 'compliance', 'ticket_year',
'ticket_month', 'ticket_day', 'isMonday', 'isTuesday', 'isWednesday',
'isThursday', 'isFriday', 'isSaturday', 'isSunday', 'isOwner',
'address', 'lat', 'lon'],
dtype='object')
Which addresses recieved the most tickets? (Common offenders)¶
Number of fines by inspector¶
df_fines['inspector_name'].value_counts()
inspector_name
Doetsch, James 1931
Gailes, Orbie J 1781
Legge, Gerald 1739
O'Neal, Claude 1726
Hayes, Billy J 1714
...
Clark, Marcel 1
Hischke, William 1
Crowder, Michael 1
Thomas, Duane 1
Gibson, Christopher 1
Name: count, Length: 100, dtype: int64
#inertias = []
#columns = ['lat','lon']
#for i in range(100,250):
# kmeans = KMeans(n_clusters=i)
# kmeans.fit(df_joint[columns])
# inertias.append(kmeans.inertia_)
#plt.plot(range(100,250), inertias, marker='o')
#plt.title('Elbow method')
#plt.xlabel('Number of clusters')
#plt.ylabel('Inertia')
#plt.show()
import random
data_for_clustering = df_joint[['lat', 'lon']]
kmeans = KMeans(n_clusters=75)
kmeans.fit(data_for_clustering[['lat', 'lon']])
df_joint['cluster'] = kmeans.labels_
payment_rates = df_joint.groupby('cluster')['compliance'].mean().reset_index()
payment_rates = payment_rates.rename(columns={'compliance':'Rate'})
payment_rates.sort_values(by='Rate',ascending=False)
mapa_poligon = folium.Map(data_for_clustering=[df_joint['lat'].mean(), df_joint['lon'].mean()], zoom_start=10)
mapa_points= folium.Map(data_for_clustering=[df_joint['lat'].mean(), df_joint['lon'].mean()], zoom_start=10)
colores_poligon= ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']
colores_points= ['#' + ''.join([random.choice('0123456789ABCDEF') for j in range(6)]) for i in range(10)]
#poligon_map
for cluster_label in range(75):
color = colores_points[cluster_label % 10]
points = df_joint[kmeans.labels_ == cluster_label][['lat', 'lon']].values.tolist()
folium.Polygon(locations=points, color=color, fill=True, fill_opacity=0.3).add_to(mapa_poligon)
center = np.mean(points, axis=0)
folium.Marker(location=[center[0], center[1]],
icon=folium.DivIcon(html=f'<div style="font-size: 10pt; color: black;">{cluster_label}</div>')).add_to(mapa_poligon)
#points_map
for lat, lon, cluster in zip(df_joint['lat'], df_joint['lon'], kmeans.labels_):
folium.CircleMarker(
location=[lat, lon],
radius=5,
color=None,
fill=True,
fill_opacity=0.7,
fill_color= colores_points[cluster%10]
).add_to(mapa_points)
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:1416: FutureWarning: The default value of `n_init` will change from 10 to 'auto' in 1.4. Set the value of `n_init` explicitly to suppress the warning
mapa_points
mapa_poligon
payment_rates
| cluster | Rate | |
|---|---|---|
| 0 | 0 | 0.080402 |
| 1 | 1 | 0.069519 |
| 2 | 2 | 0.067416 |
| 3 | 3 | 0.103030 |
| 4 | 4 | 0.142857 |
| ... | ... | ... |
| 70 | 70 | 0.060000 |
| 71 | 71 | 0.062201 |
| 72 | 72 | 0.146341 |
| 73 | 73 | 0.000000 |
| 74 | 74 | 0.117284 |
75 rows × 2 columns
Decision tree to know if a fine is going to be checked¶
df_joint['Rate'].max()
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) File /usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py:3790, in Index.get_loc(self, key) 3789 try: -> 3790 return self._engine.get_loc(casted_key) 3791 except KeyError as err: File index.pyx:152, in pandas._libs.index.IndexEngine.get_loc() File index.pyx:181, in pandas._libs.index.IndexEngine.get_loc() File pandas/_libs/hashtable_class_helper.pxi:7080, in pandas._libs.hashtable.PyObjectHashTable.get_item() File pandas/_libs/hashtable_class_helper.pxi:7088, in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError: 'Rate' The above exception was the direct cause of the following exception: KeyError Traceback (most recent call last) Cell In[39], line 1 ----> 1 df_joint['Rate'].max() File /usr/local/lib/python3.10/dist-packages/pandas/core/frame.py:3896, in DataFrame.__getitem__(self, key) 3894 if self.columns.nlevels > 1: 3895 return self._getitem_multilevel(key) -> 3896 indexer = self.columns.get_loc(key) 3897 if is_integer(indexer): 3898 indexer = [indexer] File /usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py:3797, in Index.get_loc(self, key) 3792 if isinstance(casted_key, slice) or ( 3793 isinstance(casted_key, abc.Iterable) 3794 and any(isinstance(x, slice) for x in casted_key) 3795 ): 3796 raise InvalidIndexError(key) -> 3797 raise KeyError(key) from err 3798 except TypeError: 3799 # If we have a listlike key, _check_indexing_error will raise 3800 # InvalidIndexError. Otherwise we fall through and re-raise 3801 # the TypeError. 3802 self._check_indexing_error(key) KeyError: 'Rate'
print(kmeans.get_params)
<bound method BaseEstimator.get_params of KMeans(n_clusters=75)>
from sklearn.tree import export_graphviz
clf = DecisionTreeClassifier()
dtv = df_joint[['fine_amount','late_fee','discount_amount','isMonday', 'isTuesday', 'isWednesday',
'isThursday', 'isFriday', 'isSaturday', 'isSunday', 'isOwner']]
payStatus = df_joint[['compliance']]
train_x, test_x, train_y, test_y = train_test_split(dtv,payStatus,test_size=0.3,random_state=1)
clf = clf.fit(train_x,train_y)
prediction = clf.predict(test_x)
print("Accuracy:",metrics.accuracy_score(test_y, prediction))
dot_data = StringIO()
export_graphviz(clf, out_file=dot_data,
filled=True, rounded=True,
special_characters=True,feature_names = dtv.columns,class_names=['0','1'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_png('finesTree.png')
Image(graph.create_png())
Accuracy: 0.9152789950335962
Testing playground¶
#Getting the different values and descriptions
numberOfTimes = df_fines['violation_description'].value_counts()
number = pd.DataFrame({'description':numberOfTimes.index,'times':numberOfTimes.values}).head(n=15) #e just want the first 15 because are the most relevant
plt.hist2d(number['description'],number['times'],bins= (15,15))
# plt.colorbar()
pl.show()
fin
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) /home/susi/universidad/dianamarca/Data_Science/Project/DataScienceOnDetroit/project1.ipynb Cell 43 line 4 <a href='vscode-notebook-cell:/home/susi/universidad/dianamarca/Data_Science/Project/DataScienceOnDetroit/project1.ipynb#X54sZmlsZQ%3D%3D?line=1'>2</a> numberOfTimes = df_fines['violation_description'].value_counts() <a href='vscode-notebook-cell:/home/susi/universidad/dianamarca/Data_Science/Project/DataScienceOnDetroit/project1.ipynb#X54sZmlsZQ%3D%3D?line=2'>3</a> number = pd.DataFrame({'description':numberOfTimes.index,'times':numberOfTimes.values}).head(n=15) #e just want the first 15 because are the most relevant ----> <a href='vscode-notebook-cell:/home/susi/universidad/dianamarca/Data_Science/Project/DataScienceOnDetroit/project1.ipynb#X54sZmlsZQ%3D%3D?line=3'>4</a> plt.hist2d(number['description'],number['times'],bins= (15,15)) <a href='vscode-notebook-cell:/home/susi/universidad/dianamarca/Data_Science/Project/DataScienceOnDetroit/project1.ipynb#X54sZmlsZQ%3D%3D?line=4'>5</a> # plt.colorbar() <a href='vscode-notebook-cell:/home/susi/universidad/dianamarca/Data_Science/Project/DataScienceOnDetroit/project1.ipynb#X54sZmlsZQ%3D%3D?line=5'>6</a> pl.show() File ~/.local/lib/python3.10/site-packages/matplotlib/pyplot.py:3283, in hist2d(x, y, bins, range, density, weights, cmin, cmax, data, **kwargs) 3269 @_copy_docstring_and_deprecators(Axes.hist2d) 3270 def hist2d( 3271 x: ArrayLike, (...) 3281 **kwargs, 3282 ) -> tuple[np.ndarray, np.ndarray, np.ndarray, QuadMesh]: -> 3283 __ret = gca().hist2d( 3284 x, 3285 y, 3286 bins=bins, 3287 range=range, 3288 density=density, 3289 weights=weights, 3290 cmin=cmin, 3291 cmax=cmax, 3292 **({"data": data} if data is not None else {}), 3293 **kwargs, 3294 ) 3295 sci(__ret[-1]) 3296 return __ret File ~/.local/lib/python3.10/site-packages/matplotlib/__init__.py:1465, in _preprocess_data.<locals>.inner(ax, data, *args, **kwargs) 1462 @functools.wraps(func) 1463 def inner(ax, *args, data=None, **kwargs): 1464 if data is None: -> 1465 return func(ax, *map(sanitize_sequence, args), **kwargs) 1467 bound = new_sig.bind(ax, *args, **kwargs) 1468 auto_label = (bound.arguments.get(label_namer) 1469 or bound.kwargs.get(label_namer)) File ~/.local/lib/python3.10/site-packages/matplotlib/axes/_axes.py:7191, in Axes.hist2d(self, x, y, bins, range, density, weights, cmin, cmax, **kwargs) 7098 @_preprocess_data(replace_names=["x", "y", "weights"]) 7099 @_docstring.dedent_interpd 7100 def hist2d(self, x, y, bins=10, range=None, density=False, weights=None, 7101 cmin=None, cmax=None, **kwargs): 7102 """ 7103 Make a 2D histogram plot. 7104 (...) 7188 `.colors.PowerNorm`. 7189 """ -> 7191 h, xedges, yedges = np.histogram2d(x, y, bins=bins, range=range, 7192 density=density, weights=weights) 7194 if cmin is not None: 7195 h[h < cmin] = None File ~/.local/lib/python3.10/site-packages/numpy/lib/twodim_base.py:808, in histogram2d(x, y, bins, range, density, weights) 806 xedges = yedges = asarray(bins) 807 bins = [xedges, yedges] --> 808 hist, edges = histogramdd([x, y], bins, range, density, weights) 809 return hist, edges[0], edges[1] File ~/.local/lib/python3.10/site-packages/numpy/lib/histograms.py:1003, in histogramdd(sample, bins, range, density, weights) 1000 if bins[i] < 1: 1001 raise ValueError( 1002 '`bins[{}]` must be positive, when an integer'.format(i)) -> 1003 smin, smax = _get_outer_edges(sample[:,i], range[i]) 1004 try: 1005 n = operator.index(bins[i]) File ~/.local/lib/python3.10/site-packages/numpy/lib/histograms.py:322, in _get_outer_edges(a, range) 320 else: 321 first_edge, last_edge = a.min(), a.max() --> 322 if not (np.isfinite(first_edge) and np.isfinite(last_edge)): 323 raise ValueError( 324 "autodetected range of [{}, {}] is not finite".format(first_edge, last_edge)) 326 # expand empty range to avoid divide by zero TypeError: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
#correlations = df_fines.corr()
#plt.figure(figsize=(10,10))
#sns.heatmap(correlations[1:10],annot=True,linewidths=0.05)
#sns.heatmap(correlations[2:20],annot=True,linewidths=0.05)